【发布时间】:2017-04-22 07:24:10
【问题描述】:
在使用 PhpUnit 及其 Selenium2 扩展生成验收测试时,我想使用 PHPUnit_Extensions_Selenium2TestCase 类中的 execute 方法来执行 Javascript 代码以检查文档是否准备好。
如果我执行这个测试:
$this->waitUntil(function (LoginTest $driver) {
if ( $driver->execute( 'return document.readyState;' ) == 'complete' ) {
return true;
}
return null;
}, 10000);
我收到以下错误:
InvalidArgumentException: The JSON parameters must be an array, or a NULL value in case they are not required.
然后,看到它实际上需要一个数组,我尝试了:
$this->waitUntil(function (LoginTest $driver) {
if ( $driver->execute( ['return document.readyState;'] ) == 'complete' ) {
return true;
}
return null;
}, 10000);
现在我遇到了另一个错误:
PHPUnit_Extensions_Selenium2TestCase_WebDriverException: java.util.ArrayList cannot be cast to java.util.HashMap
我应该如何调用执行方法?
【问题讨论】:
标签: javascript selenium selenium-webdriver phpunit