我使用Java在Selenium上創建了一些測試用例。不幸的是,當我點擊頁面上的一個元素之前,我可以轉到任何其他操作,我必須等到頁面加載。當預期的元素存在時,Selenium立即停止頁面加載
我試過driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
。不幸的是,這會產生另一個問題即使頁面加載,它也會等待30秒纔會開始在頁面上進行測試。
我發現最好的方法是發送ESCAPE
鍵來停止頁面加載。
是否有無論如何我可以檢查一個元素是否存在,當它發生時,發送ESCAPE
鍵到瀏覽器停止頁面加載?
這部分是我的頭腦,因爲我必須等到頁面加載之前Java讀取代碼的下一行,所以我不能發送ESCAPE
鍵到瀏覽器,直到頁面實際上停止加載。
編輯
我一直在使用一個新的線程來完成這項工作只是嘗試,但它似乎driver
被完全鎖定了,不能做任何處理頁面停止加載之前。
我現在沒有想法,但我相信應該有辦法。
使用timeouts()
導致整個測試案例停止。
我通常對新功能/網站進行這些測試。其中一些是全新的。有時候,我測試了100次以上的同一頁面(使用不同的條件)。不會通過JavaScript發送點擊事件會增加跳出率?如果是這樣的話,我不認爲每個人都會喜歡這個。 – Revenant
您正在生產中運行測試?那麼是的,你必須與任何監測噪音的人分析。也可能希望瞭解有關使測試服務器運行測試以避免一般性破壞分析的問題 –
這經常是我的擔憂。當我在測試/分級環境中進行測試時,我不介意這些問題。當它在生產環境中時,我只想盡快完成它。 – Revenant