之前曾經(jīng)說過碰到回放腳本時出現(xiàn)timeout的問題,下面是總結(jié)了一下網(wǎng)上的解決方案,請參考:
往往我們在錄制的selenium腳本回放時會遇到timeout錯誤,這種問題往往是由于response返回時間較長超過了selenium的等待時間。如果我們認為只要等待足夠的時間,系統(tǒng)總是能訪問一個結(jié)果的,在這樣的前提下考慮網(wǎng)絡原因或被測系統(tǒng)的性能問題或者第一次訪問其實是正常的cache過程稍微慢一點可以理解, 那么這種情況會干擾正常的功能測試。
常用的解決方案有:
1. 在option窗口增加timeout時間
2. 調(diào)節(jié)錄制回放速度Fast -> Slow
3. 使用執(zhí)行等候API
waitForPageToLoad
用click的地方改成 clickAndWait
waitForPopUp
當以上的方案不太奏效時,可以考慮下面的方案
1. 加入waitForElementPresent或waitForText, Selenium IDE 默認設置的等待時間為 30 秒,超過 30 秒目標對象仍然沒有找到會報錯。加上“waitForElementPresent”之后,腳本會再等待額外的 30 秒
2. 在某些耗時command執(zhí)行之后或其他需要確保頁面load完成做某個驗證之前的地方再加一個
pause(waitTime)
Arguments:
waitTime - the amount of time to sleep (in milliseconds)
Wait for the specified amount of time (in milliseconds)
調(diào)試錄制的腳本,根據(jù)需要選擇加入pause的位置
3. 同一個test case執(zhí)行兩次,第一個test case的測試結(jié)果可以丟棄,只看第二次測試結(jié)果。這種適用于web系統(tǒng)第一次訪問其實是建立緩存的過程。