diff --git a/PHPUnit/Extensions/Selenium2TestCase/Session/Timeouts.php b/PHPUnit/Extensions/Selenium2TestCase/Session/Timeouts.php index fb7cb63a..8ab70549 100644 --- a/PHPUnit/Extensions/Selenium2TestCase/Session/Timeouts.php +++ b/PHPUnit/Extensions/Selenium2TestCase/Session/Timeouts.php @@ -54,6 +54,9 @@ * @since Class available since Release 1.2.4 * @method implicitWait(int $ms) Sets timeout when searching for elements * @method asyncScript(int $ms) Sets timeout for asynchronous scripts executed by Session::executeAsync() + * @method pageLoadTimeout(int $ms) + * @method scriptTimeout(int $ms) + * @method implicitWaitTimeout(int $ms) */ class PHPUnit_Extensions_Selenium2TestCase_Session_Timeouts extends PHPUnit_Extensions_Selenium2TestCase_CommandsHolder @@ -73,6 +76,22 @@ protected function initCommands() { $self = $this; return array( + /* + * https://www.w3.org/TR/webdriver/#dfn-table-of-session-timeouts section 7.5 + */ + 'pageLoadTimeout' => function ($milliseconds, $commandUrl) use ($self) { + $jsonParameters = array('type'=>'page load', 'ms' => $milliseconds); + return new PHPUnit_Extensions_Selenium2TestCase_ElementCommand_GenericPost($jsonParameters, $commandUrl->ascend()); + }, + 'scriptTimeout' => function ($milliseconds, $commandUrl) use ($self) { + $jsonParameters = array('type'=>'script', 'ms' => $milliseconds); + return new PHPUnit_Extensions_Selenium2TestCase_ElementCommand_GenericPost($jsonParameters, $commandUrl->ascend()); + }, + 'implicitWaitTimeout' => function ($milliseconds, $commandUrl) use ($self) { + $jsonParameters = array('type'=>'implicit', 'ms' => $milliseconds); + return new PHPUnit_Extensions_Selenium2TestCase_ElementCommand_GenericPost($jsonParameters, $commandUrl->ascend()); + }, + 'implicitWait' => function ($milliseconds, $commandUrl) use ($self) { $self->check($milliseconds); $self->setLastImplicitWaitValue($milliseconds);