您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“selenium高效應對Web頁面元素刷新的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“selenium高效應對Web頁面元素刷新的示例分析”這篇文章吧。
當我們在頁面上進行selenium.type()或者selenium.click()操作的時候,往往需要需要等待一個元素的出現,對于一般的網頁,當我們進入一個新頁面的時候,往往會使用selenium.waitForPageToLoad(WAITTIME);
對彈出窗口中的元素,往往寫死要等待多少秒,其實可以使用如下更加通用高效的方法,自己寫一個waitForElement()的方法:
Java代碼
protected void waitForElement(String target) { for (int second = 0;; second++) { if (second >= 60) { LOGGER.debug("Element:" + target + " can't be found after 60 seconds"); fail("find element timeout: " + target); } try { if (selenium.isElementPresent(target)) break; } catch (Exception e) { LOGGER.debug("Element:" + target + " can't be found in 60 seconds"); assert (false); } pause(1000); } }
這段代碼的功能是讓我們最多等待某個元素60秒,直至它出現,否則就讓test case失敗,當我們要click或者type某個元素的時候,就先調用這個方法,下面是經過改進的click方法
Java代碼
protected void click(String locator) { waitForElement(locator); selenium.click(locator); }
從此,我們可以不管頁面倒是是不是ajax實現,只要調用這樣的click()方法,程序中就不需要出現Thread.sleep(10000)這樣的代碼了。
以上是“selenium高效應對Web頁面元素刷新的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。