Default timeouts are set to zero, instead of 30 seconds
vl-lapikov opened this issue · comments
Hey Guys,
Here https://codeception.com/docs/modules/WebDriver Codeception claims, that default timeouts (connection_timeout
and request_timeout
) are 30 seconds. Because of the bug, I think they are set to 0 now, which makes curl_exec() later to wait indefinitely.
Check this code https://github.com/Codeception/module-webdriver/blob/master/src/Codeception/Module/WebDriver.php#L362
$this->connectionTimeoutInMs = $this->config['connection_timeout'] * 1000;
$this->requestTimeoutInMs = $this->config['request_timeout'] * 1000;
by default both values are null
, but multipling null * 1000
results in 0
, not null
. Later here https://github.com/php-webdriver/php-webdriver/blob/main/lib/Remote/RemoteWebDriver.php#L101 it is strictly compared with null
, but since the value is 0
it passes the condition and sets timeout to 0
which makes curl to wait indefinitely.
I think you are right. Can you make a test and a fix?
Yeah, I'll work on it.