forked from php-webdriver/php-webdriver
-
Notifications
You must be signed in to change notification settings - Fork 0
How to work with jQuery AJAX
darkwish121 edited this page Oct 30, 2013
·
3 revisions
Updated Page
$submitButton = $driver->findElement(webdriverby::id('Submit'));
$submitButton->click();
waitForAjax($driver);
$anotherButton = $driver->findElement(webdriverby::id('secondButton'));- Where waitForAjax method is defined as
- Two methods are defined use one of these
function waitForAjax($driver) {
do {
sleep(2);
} while($driver->executeScript('return jQuery.active'));
}function waitForAjax($driver) {
// wait for at most 30s, retry every 2000ms (2s)
$driver->wait(30, 2000)->until(function ($driver) {
return !$driver->executeScript('return jQuery.active');
});
}Old Code is below
$session->element('xpath', "//button[@class='button main-button add-to-cart-button']")->click();
$this->waitForAjax();
$session->element('link text', 'View cart')->click();Where waitForAjax method is defined as
protected function waitForAjax() {
do {
sleep(2);
} while($this->session->execute(array('script' => 'return jQuery.active', 'args' => array())));
}This code works only for scripts with jQuery framework.
Original article/Other solutions http://agilesoftwaretesting.com/?p=111