2016-12-07 42 views
0

在使用PhpUnit及其Selenium2擴展生成驗收測試時,我想使用PHPUnit_Extensions_Selenium2TestCase類中的方法執行Javascript代碼以檢查文檔是否準備好。PHPUnit-Selenium2:使用執行方法時出錯

如果我執行這個測試:

$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 

我該如何撥打執行方法?

回答