/** * Waits some time or until JS condition turns true. * * @param integer $time time in milliseconds * @param string $condition JS condition */ public function wait($time, $condition) { $script = "return {$condition};"; $start = 1000 * microtime(true); $end = $start + $time; while (1000 * microtime(true) < $end && !$this->wdSession->execute(array('script' => $script, 'args' => array()))) { sleep(0.1); } }
/** * Waits some time or until JS condition turns true. * * @param integer $time time in milliseconds * @param string $condition JS condition * * @return boolean */ public function wait($time, $condition) { $script = "return {$condition};"; $start = microtime(true); $end = $start + $time / 1000.0; do { $result = $this->wdSession->execute(array('script' => $script, 'args' => array())); usleep(100000); } while (microtime(true) < $end && !$result); return (bool) $result; }