在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Python/ Synchronization 同步
log4j日志
Selenium IDE測試創(chuàng)建
Selenium - IDE模式匹配
Selenium教程
多瀏覽器測試
Selenium IDE下載
Selenium用戶擴展
鍵盤操作
捕捉屏幕截圖
Selenium網(wǎng)格
Selenium TestNG
Selenium定位器
查找所有鏈接
Selenium測試設計技術
鼠標操作
下拉框交互
Selenium IDE驗證點
Selenium IDE- 不同的瀏覽器
Selenium RC
多選擇操作
復選框交互
單選按鈕互動
捕捉視頻
拖放
Selenium IDE 測試
Synchronization 同步
異常處理
Selenium 環(huán)境安裝設置
Selenium概述
用戶交互
Selenium Webdriver
Selenium IDE
Selenium頁面對象模型
Selenium IDE 工具特點
使用Excel數(shù)據(jù)驅動
Selenium - Selenese命令

Synchronization 同步

同步

要執(zhí)行腳本,我們需要進行適當?shù)牟僮骱?,等待應用程序之間的同步。來看看以達到同樣的方式。

THREAD.SLEEP

Thread.sleep代碼是一個靜態(tài)的等待,不是在腳本中使用,因為它是無需睡眠狀態(tài)的一個很好的方法。

Thread.Sleep(1000); //Will wait for 1 second.

顯式等待

一個明確的等待,等待某個條件進一步處理之前發(fā)生。它主要用于當我們想要點擊或采取行動的對象,一旦它是可見的。

WebDriver driver = new FirefoxDriver();
driver.get("Enter an URL"S);
WebElement DynamicElement = (new WebDriverWait(driver, 10)).until(ExpectedConditions.presenceOfElementLocated(By.id("DynamicElement")));

隱式等待

隱式等待的情況下,如果網(wǎng)絡驅動器找不到,因為它的不可用性的立即的對象。webdriver將等待指定的隱含的等待時間,也不會嘗試在指定時間內(nèi)找到的元素了。一旦指定的時間限制被超越,webdriver將嘗試再次搜索該元素的最后一面。如果成功,將繼續(xù)進行執(zhí)行,但如果失敗,它會拋出異常。這是一種全局的等待,這意味著這種等待是適用于整個驅動程序。因此,硬編碼這種等待更長的時間時期將阻礙該腳本執(zhí)行時間。

WebDriver driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.get("Enter an URL");
WebElement DynamicElement = driver.findElement(By.id("DynamicElement"));

流利等待

FluentWait用于當webelement可以出現(xiàn)在5秒或者甚至它可以采取90秒。在這種情況下,我們定義的時間等待的狀態(tài)的最大數(shù)量,以及與該查詢的對象狀態(tài)的是否存在等的頻率。

讓我們假定,我們將60秒可用一個元素在網(wǎng)頁上,但每10秒檢查一次它的存在。

Wait wait = new FluentWait(driver)
  .withTimeout(60, SECONDS)
  .pollingEvery(10, SECONDS)
  .ignoring(NoSuchElementException.class);
WebElement dynamicelement = wait.until(new Function<webdriver,webElement>() 
{
  public WebElement apply(WebDriver driver) 
  {
  return driver.findElement(By.id("dynamicelement"));
  }
 }
);