我正在爲Zend應用程序編寫功能測試。我運行它們使用PHPUnit和這個包裝:https://github.com/chibimagic/WebDriver-PHP硒測試在執行javascript時隨機崩潰
我從本地運行從jar文件的selenium獨立服務器(v2.19.0)。我在這個應用程序中使用了很多js和ajax,所以我在FunctionalTestCase類中創建了一個waitForAjax函數,所以我可以等到所有數據都正確加載。它使用$ .active,因爲我使用jQuery ajax函數。該功能看起來像這樣:
public function waitForAjax($timeout = 10) {
sleep(1);
for($i = 0 ; $i < $timeout - 1 ; $i++) {
$active = $this->getJsResult('return $.active;');
if($active > 0) {
sleep(1);
}else {
break;
}
}
}
功能getJsResult從包裝的webdriver執行execute_js_sync,並得到來自硒反應的結果。
我的問題如下:硒隨機掛在執行js的網站上。有時它幾乎立即返回,但大多數時候它只是停留在執行腳本上。這是從服務器輸出的唯一:
11:58:48.386 INFO - Executing: [execute script: return $.active;, []] at URL: /session/1334915841900/execute)
讓我困擾最多的是爲什麼會發生如此隨意?
我真的可以在這裏使用一些幫助。
乾杯, 馬切伊
當你的測試掛Firebug的控制檯>錯誤說什麼? – 2012-05-15 19:03:44