get($this->getTestPageBaseUrl() . "/static/fibonacci.js"); $script = $response->getBody()->getContents(); //Fibonacci(10) = 55; $this->assertEquals(55, $this->browser->evaluate($script)); } protected function doFormSubmit() { //We have changed the form so lets get the element and see such changes $formElement = $this->browser->find("xpath", '//*[@id="form_1014473"]'); $this->assertEquals("submit", $this->browser->trigger($formElement["page_id"], $formElement["ids"][0], "submit")); //STUFF works like that, lets give time for the browser and server to load. sleep(2); $expectedUrl = "http://127.0.0.1:6789/check-post-request/"; $this->assertEquals($expectedUrl, $this->browser->currentUrl()); $formResponse = json_decode(strip_tags($this->browser->getSource()), true); $this->assertTrue(is_array($formResponse)); $this->assertEquals("THIS_IS_SPARTA", $formResponse["post"]["element_1"]); $this->assertEquals("1", $formResponse["post"]["element_3"]); } public function testScriptExecute() { $webClient = new Client(); /** @var $response Response */ $response = $webClient->get($this->getTestPageBaseUrl() . "/test/script_execute/execute.js"); $script = $response->getBody()->getContents(); $this->visitUrl($this->getTestPageBaseUrl() . "/test/script_execute/form.html"); $this->assertTrue($this->browser->execute($script)); $this->doFormSubmit(); } public function testScriptExtensions() { $viewJS = sprintf("%s/Server/www/web/test/script_extensions/extension.js", __DIR__); $this->visitUrl($this->getTestPageBaseUrl() . "/test/script_extensions/form.html"); $this->assertTrue($this->browser->extensions(array($viewJS))); $this->doFormSubmit(); } }