1: <?php
2: namespace Azalea\Selenium\Core;
3: use \Azalea\Util\Config;
4:
5: class BaseTestCase extends \Sauce\Sausage\WebDriverTestCase
6: {
7: protected $base_url = '';
8: protected static $tags = array();
9: public static $browsers = array();
10:
11: 12: 13:
14: public static function browsers()
15: {
16: $browsers = array();
17: $config = explode(";", $_ENV['selenium_browsers']);
18: foreach($config as $browser) {
19: $parts = explode("|", $browser);
20: $browsers[] = array(
21: 'browserName' => $parts[0],
22: 'desiredCapabilities' => array(
23: 'platform' => $parts[2],
24: 'version' => $parts[1]
25: ),
26: 'local' => (isset($parts[3]) ? true : false)
27: );
28: }
29: return $browsers;
30: }
31:
32: 33: 34:
35: public function setUp()
36: {
37: $this->base_url = $_ENV['selenium_base_url'];
38:
39: if(isset($_ENV['selenium_host'])) {
40: $this->setHost($_ENV['selenium_host']);
41:
42: if(isset($_ENV['selenium_port'])) {
43: $this->setPort((int)$_ENV['selenium_port']);
44: }
45: }
46:
47: parent::setUp();
48:
49: $this->setMetaData();
50: }
51:
52: 53: 54:
55: protected function setMetaData()
56: {
57:
58: $caps = $this->getDesiredCapabilities();
59:
60: if (isset($_ENV['selenium_meta_tags']) && !empty($_ENV['selenium_meta_tags'])) {
61: $caps['tags'] = explode(",", $_ENV['selenium_meta_tags']);
62: $caps['tags'] = array_merge($caps['tags'], static::$tags);
63: }
64:
65: if (isset($_ENV['selenium_meta_public']) && !empty($_ENV['selenium_meta_public'])) {
66: $caps['public'] = $_ENV['selenium_meta_public'];
67: }
68:
69: $caps['custom-data'] = (isset($caps['custom-data'])) ? $caps['custom-data'] : array();
70: $caps['custom-data']['url'] = $this->base_url;
71: $caps['custom-data']['debug'] = (isset($_ENV['selenium_debug']) ? $_ENV['selenium_debug'] : false);
72:
73:
74: $this->setDesiredCapabilities($caps);
75: }
76: }
77: ?>