2014-02-12 111 views
0

我正在Firefox版本27中使用Selenium IDE ver 2.5.0構建一個Web應用程序的測試套件。我遇到的問題是我測試的一些url不會返回任何HTML內容全部。如果沒有正確的數據發佈給他們,這些都是「不說」的servlet。看起來Selenium在測試時無限期地停留在這些網址上。也就是說,當測試運行時,處理該頁面的步驟(verifyText或其他)永遠掛起,並停止正在運行的測試。我嘗試了'setTimeout','waitFor {thing}'。這些沒有任何區別。所有發生這種情況的網站都是無法測試的。有誰知道一些解決方法,或其他硒的友好技術,迫使工具不要等待從服務器發回內容?我寧願不跳入Java並從這個角度來做所有這些。所以我的問題是: 有沒有辦法強制Selenium IDE不要等待服務器以任何方式進行響應。如果是這樣,那就失敗了。如何迫使Selenium不要等待頁面加載

這是一個卡住的例子。在此示例中,它掛在第三行/項目上:

<tr> 
    <td>setTimeout</td> 
    <td>1000</td> 
    <td></td> 
    </tr> 
    <tr> 
    <td>open</td> 
    <td>${base_url}/someServlet</td> 
    <td></td> 
    </tr> 
    <tr> 
    <td>verifyText</td> 
    <td>css=h2</td> 
    <td>SomeText</td> 
    </tr> 

謝謝!

回答

0

我最終通過將所有測試轉換爲Java端Selenium WebDriver代碼來解決此問題。測試不再無限期地在它以前做過的那些地方吸收。這不是一個理想的解決方案,但它確實阻止了懸掛測試問題。以下是測試代碼示例:

driver = new FirefoxDriver(); 

    driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS); 

    driver.get(baseUrl + "/?SomeParam=x"); 

    assertTrue(isElementPresent(By.linkText(LOG_IN_TEXT))); 
相關問題