2012-04-20 50 views
1

我正在爲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) 

讓我困擾最多的是爲什麼會發生如此隨意?

我真的可以在這裏使用一些幫助。

乾杯, 馬切伊

+0

當你的測試掛Firebug的控制檯>錯誤說什麼? – 2012-05-15 19:03:44

回答

0

當我用硒先過,它隨機崩潰,我看到它是吃很多RAM和hitted的maxiumum RAM一個應用程序可能有我有,或許這就是我的問題解決了它由開始和每個請求程序查殺,

問候,

Corné