├── PHPWebDriver ├── Support │ ├── FlashFlex │ │ └── FlexPilot.php │ ├── HTML5 │ │ ├── Audio.php │ │ ├── Media.php │ │ └── Video.php │ ├── WebDriverColor.php │ └── WebDriverSelect.php ├── WebDriver.php ├── WebDriverActionChains.php ├── WebDriverAlert.php ├── WebDriverBase.php ├── WebDriverBy.php ├── WebDriverContainer.php ├── WebDriverDeprecationHandler.php ├── WebDriverDesiredCapabilities.php ├── WebDriverElement.php ├── WebDriverEnvironment.php ├── WebDriverExceptions.php ├── WebDriverFirefoxProfile.php ├── WebDriverKeys.php ├── WebDriverProxy.php ├── WebDriverSession.php ├── WebDriverSimpleItem.php ├── WebDriverStorage.php ├── WebDriverTouchActions.php ├── WebDriverWait.php └── __init__.php ├── README.md ├── composer.json ├── package.xml ├── test ├── ActionChainsTest.php ├── AlertTest.php ├── BrowserMobProxyTest.php ├── CapabilitiesTest.php ├── DeleteWindowTest.php ├── DoubleClickTest.php ├── ElementsTest.php ├── ExtraOptsTest.php ├── FileUploadTest.php ├── FlexTest.php ├── FrameTest.php ├── LocalWebServer.php ├── LocationTest.php ├── ProfileTest.php ├── TimeoutTest.php ├── VideoTest.php ├── browsers │ └── AndroidTest.php ├── english_muffin.jpg ├── sauce │ ├── LinuxTest.php │ ├── MacTest.php │ ├── iOSTest.php │ └── pages │ │ ├── dashboard.php │ │ └── login.php └── support │ ├── ColorTest.php │ ├── SelectTest.php │ └── profiles │ ├── .DS_Store │ └── red │ ├── .parentlock │ ├── Cache │ ├── 0 │ │ ├── 7D │ │ │ └── 3A1EFd01 │ │ ├── B9 │ │ │ └── F8A2Ed01 │ │ └── F9 │ │ │ └── 207A0d01 │ ├── 1 │ │ └── 77 │ │ │ └── 06D38d01 │ ├── 2 │ │ └── E7 │ │ │ └── 36188d01 │ ├── 3 │ │ ├── 25 │ │ │ └── 2C929d01 │ │ ├── 69 │ │ │ └── 274F1d01 │ │ ├── 01 │ │ │ └── 7E0E7d01 │ │ └── 7C │ │ │ └── D31FCd01 │ ├── 4 │ │ ├── 35 │ │ │ └── 6A0CCd01 │ │ ├── 62 │ │ │ └── 01B30d01 │ │ ├── 72 │ │ │ └── 4C640d01 │ │ └── DF │ │ │ └── 72591d01 │ ├── 5 │ │ ├── 4D │ │ │ └── 1715Bd01 │ │ └── BE │ │ │ └── A6319d01 │ ├── 6 │ │ └── 0E │ │ │ └── 6E579d01 │ ├── 8 │ │ ├── 4D │ │ │ └── 3ED69d01 │ │ ├── 8C │ │ │ └── 266B5d01 │ │ ├── DC │ │ │ └── BD3EFd01 │ │ └── F3 │ │ │ └── 6BD46d01 │ ├── 9 │ │ ├── E5 │ │ │ └── 875CFd01 │ │ └── F7 │ │ │ └── DAD0Cd01 │ ├── A │ │ └── 8D │ │ │ └── 1AEC0d01 │ ├── B │ │ └── 8D │ │ │ └── 3FE6Cd01 │ ├── C │ │ └── 0E │ │ │ └── 22036d01 │ ├── D │ │ └── 69 │ │ │ └── 5581Cd01 │ ├── E │ │ └── 04 │ │ │ └── FC074d01 │ ├── F │ │ └── 9E │ │ │ └── 72CA6d01 │ ├── _CACHE_001_ │ ├── _CACHE_002_ │ ├── _CACHE_003_ │ └── _CACHE_MAP_ │ ├── _CACHE_CLEAN_ │ ├── addons.sqlite │ ├── blocklist.xml │ ├── bookmarkbackups │ └── bookmarks-2013-05-01.json │ ├── cert8.db │ ├── compatibility.ini │ ├── content-prefs.sqlite │ ├── cookies.sqlite │ ├── downloads.sqlite │ ├── extensions.ini │ ├── extensions.sqlite │ ├── extensions │ └── garg_sms@yahoo.in.xpi │ ├── key3.db │ ├── localstore.rdf │ ├── mimeTypes.rdf │ ├── permissions.sqlite │ ├── places.sqlite │ ├── pluginreg.dat │ ├── prefs.js │ ├── safebrowsing │ ├── classifier.hashkey │ ├── goog-malware-shavar.cache │ ├── goog-malware-shavar.pset │ ├── goog-malware-shavar.sbstore │ ├── goog-phish-shavar.cache │ ├── goog-phish-shavar.pset │ ├── goog-phish-shavar.sbstore │ ├── test-malware-simple.cache │ ├── test-malware-simple.pset │ ├── test-malware-simple.sbstore │ ├── test-phish-simple.cache │ ├── test-phish-simple.pset │ └── test-phish-simple.sbstore │ ├── search.json │ ├── secmod.db │ ├── sessionstore.bak │ ├── sessionstore.js │ ├── signons.sqlite │ ├── startupCache │ └── startupCache.8.little │ ├── thumbnails │ ├── 12643f0996e399bde80cacf76faf567f.png │ ├── 4aa7f80ff514156cb9820739f87a8560.png │ ├── a8aa3ec18c47e73b960acf2a8a4d2b05.png │ ├── a9ae9e9176433159745e36ca67e512d1.png │ ├── ba226a439a5b61f3de375021fa4edc29.png │ ├── c314b11dc9f9d711d7a2dbdbaf470dfa.png │ ├── d37b37c9cb95f622406f785fe99d162c.png │ └── dc667ec1e4923f44be15b19380bd4453.png │ ├── times.json │ ├── urlclassifierkey3.txt │ ├── webapps │ └── webapps.json │ └── webappsstore.sqlite └── www └── alerts.html /PHPWebDriver/Support/FlashFlex/FlexPilot.php: -------------------------------------------------------------------------------- 1 | session = $session; 21 | $this->movie = $movie; 22 | } 23 | 24 | public function is_flex_ready() { 25 | $r = $this->session->execute(array( 26 | "script" => 'return typeof(arguments[0].fp_click);', 27 | "args" => array(array("ELEMENT" => $this->movie->getID())) 28 | ) 29 | ); 30 | if ($r == "function") { 31 | return True; 32 | } 33 | return False; 34 | } 35 | 36 | public function wait_for_flex_ready($timeout = 30, $poll_frequency = 0.5) { 37 | $w = new PHPWebDriver_WebDriverWait($this->session, $timeout, $poll_frequency, array("movie" => $this->movie)); 38 | $e = $w->until( 39 | function($session, $extra_arguments) { 40 | $fp = new PHPWebDriver_WebDriver_Support_FlashFlex_FlexPilot($session, $extra_arguments["movie"]); 41 | return $fp->is_flex_ready(); 42 | } 43 | ); 44 | } 45 | 46 | public function is_flex_object($chain) { 47 | $options = array("chain" => $chain); 48 | return $this->session->execute(array( 49 | "script" => 'return arguments[0].fp_assertDisplayObject(arguments[1]);', 50 | "args" => array(array("ELEMENT" => $this->movie->getID()), 51 | $options) 52 | ) 53 | ); 54 | 55 | } 56 | 57 | public function wait_for_object($chain, $timeout = 30, $poll_frequency = 0.5) { 58 | $w = new PHPWebDriver_WebDriverWait($this->session, $timeout, $poll_frequency, array("movie" => $this->movie, "chain" => $chain)); 59 | $e = $w->until( 60 | function($session, $extra_arguments) { 61 | $fp = new PHPWebDriver_WebDriver_Support_FlashFlex_FlexPilot($session, $extra_arguments["movie"]); 62 | return $fp->is_flex_object($extra_arguments["chain"]); 63 | } 64 | ); 65 | } 66 | 67 | public function sendKeys($chain, $text) { 68 | return $this->send_keys($chain, $text); 69 | } 70 | 71 | public function send_keys($chain, $text) { 72 | $options = array("chain" => $chain, "text" => $text); 73 | $r = $this->session->execute(array( 74 | "script" => 'arguments[0].fp_type(arguments[1]);', 75 | "args" => array(array("ELEMENT" => $this->movie->getID()), 76 | $options) 77 | )); 78 | } 79 | 80 | public function click($chain) { 81 | $options = array("chain" => $chain); 82 | $r = $this->session->execute(array( 83 | "script" => 'return arguments[0].fp_click(arguments[1]);', 84 | "args" => array(array("ELEMENT" => $this->movie->getID()), 85 | $options) 86 | )); 87 | } 88 | 89 | public function double_click($chain) { 90 | $options = array("chain" => $chain); 91 | $r = $this->session->execute(array( 92 | "script" => 'return arguments[0].fp_doubleClick(arguments[1]);', 93 | "args" => array(array("ELEMENT" => $this->movie->getID()), 94 | $options) 95 | )); 96 | } 97 | 98 | public function text($chain) { 99 | $options = array("chain" => $chain); 100 | return $this->session->execute(array( 101 | "script" => 'return arguments[0].fp_getTextValue(arguments[1]);', 102 | "args" => array(array("ELEMENT" => $this->movie->getID()), 103 | $options) 104 | )); 105 | } 106 | 107 | public function attribute($chain, $property) { 108 | $options = array("chain" => $chain, "attrName" => $property); 109 | return $this->session->execute(array( 110 | "script" => 'return arguments[0].fp_getPropertyValue(arguments[1]);', 111 | "args" => array(array("ELEMENT" => $this->movie->getID()), 112 | $options) 113 | )); 114 | } 115 | 116 | public function date() {} 117 | 118 | public function select() {} 119 | 120 | } 121 | -------------------------------------------------------------------------------- /PHPWebDriver/Support/HTML5/Audio.php: -------------------------------------------------------------------------------- 1 | element("tag_name", "audio")); 14 | * $a->play(); 15 | */ 16 | public function __construct($webelement) { 17 | if (strtolower($webelement->name()) != "audio") { 18 | throw new PHPWebDriver_UnexpectedTagNameException(sprintf( 19 | 'Audio only works on