1: <?php
2: namespace Azalea\Selenium\Core;
3:
4: 5: 6: 7:
8: class Browser
9: {
10:
11: const CHROME = "chrome";
12: const FIREFOX = "firefox";
13: const INTERNET_EXPLORER = "internet explorer";
14: const SAFARI = "safari";
15:
16:
17: const OSX_SNOW_LEOPARD = "OS X 10.6";
18: const OSX_MOUNTAIN_LION = "OS X 10.8";
19: const OSX_MAVERICKS = "OS X 10.9";
20: const OSX_YOSEMITE = "OS X 10.10";
21: const WINDOWS_XP = "Windowx XP";
22: const WINDOWS_7 = "Windows 7";
23: const WINDOWS_8 = "Windows 8";
24: const WINDOWS_8_1 = "Windows 8.1";
25:
26: protected static $supported = array(
27: 'chrome' => array(
28: 'Windows XP' => array("38", "39"),
29: 'Windows 7' => array("38", "39"),
30: 'Windows 8' => array("38", "39"),
31: 'Windows 8.1' => array("38", "39")
32: ),
33:
34: 'firefox' => array (
35: 'Windows XP' => array("32", "33"),
36: 'Windows 7' => array("32", "33"),
37: 'Windows 8' => array("32", "33"),
38: 'Windows 8.1' => array("32", "33")
39: ),
40:
41: 'internet explorer' => array(
42: 'Windows XP' => array("6", "7", "8"),
43: 'Windows 7' => array("8", "9", "10", "11"),
44: 'Windows 8' => array("10"),
45: 'Windows 8.1' => array("11")
46: )
47: );
48:
49: 50: 51: 52: 53: 54: 55:
56: public static function get($browser, $version, $os)
57: {
58: if (!isset(self::$supported[$browser])) {
59: throw new \InvalidArgumentException("Browser not supported: ".$browser);
60: }
61:
62: $platforms = self::$supported[$browser];
63:
64: if (!isset($platforms[$os])) {
65: throw new \InvalidArgumentException("Browser ".$browser." not supported on platform: ".$os);
66: }
67:
68: $versions = $platforms[$os];
69: if (!in_array($version, $versions)) {
70: throw new \InvalidArgumentException("Browser ".$browser." ".$version." not supported on platform: ".$os);
71: }
72:
73: return array(
74: 'browserName' => $browser,
75: 'desiredCapabilities' => array(
76: 'platform' => $os,
77: 'version' => $version
78: )
79: );
80: }
81: }
82: ?>