一、線程休眠的方法 Thread -- sleep
調用方式: Thread.sleep(long millis)
建議:不推薦使用此方式來等待,因為元素的實際渲染時間未知,長時間的等待則浪費的時間,短時間又獲取不到元素.
//線程休眠3秒中(毫秒) Thread.sleep(3000);
二、TimeOuts -- pageLoadTimeOut
設置頁面加載的超時時間,頁面在指定時間內未完成加載,就會拋出異常。
調用方法:driver.manage().timeouts().pageLoadTimeout(long time, TimeUnit unit);
使用場景:測試頁面加載速度,測試頁面加載的性能!
package cn.test; import java.util.concurrent.TimeUnit; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class Test02{ /** * 例如:我們需要設置在2秒內加載某個頁面,如果加載不出來則認為是性能問題! * 測試微博頁面加載的性能,要求2秒鍾加載完成 */ public static void main(String[] args) { WebDriver driver =null; try { System.setProperty("webdriver.chrome.driver", "src/test/resources/chromedriver.exe"); driver = new ChromeDriver(); driver.manage().window().maximize(); //設置頁面加載超時時間為2秒,TimeUnit.SECONDS 枚舉類型,指定時間單位! driver.manage().timeouts().pageLoadTimeout(2, TimeUnit.SECONDS); //訪問微博 driver.get("https://weibo.com/"); } catch (Exception e) { e.printStackTrace(); }finally { driver.quit(); } } }
如果性能未達標的話,代碼執行就會拋出超時異常!
未完待續。。。