我正在尝试与$I->saveSessionSnapshot($session_name)
和$I->loadSessionSnapshot($session_name)
重用登录会话,但是在第二项测试中出现以下错误:
[Facebook\WebDriver\Exception\UnrecognizedExceptionException] invalid argument: invalid 'expiry'
(Session info: chrome=79.0.3945.88)
(Driver info: chromedriver=79.0.3945.36 (3582db32b33893869b8c1339e8f4d9ed1816f143-refs/branch-heads/3945@{#614}),platform=Windows NT 10.0.17763 x86_64)
问题在于,保存的PHPSESSID
cookie具有null
作为expiry
,其中应该是整数。
这是WebDriver或Codeception中的问题吗?我该如何克服?
作为一种解决方法,我已将vendor/facebook/webdriver/lib/Cookie.php
中的以下代码更改为:
/**
* @return array
*/
public function toArray()
{
return $this->cookie;
}
收件人:
/**
* @return array
*/
public function toArray()
{
$cookie = $this->cookie;
if ($cookie['expiry'] === null) {
unset($cookie['expiry']);
}
return $cookie;
}
显然更改供应商源文件是一个坏主意,那么解决此问题的批准方法是什么?