亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源功能測試工具 > Selenium
Selenium WebDriver之JavaScript
作者:網絡轉載 發布時間:[ 2014/12/15 14:22:59 ] 推薦標簽:Selenium 功能測試

  WebDriver提供了方法來同步/異步執行JavaScript代碼,這是因為JavaScript可以完成一些WebDriver本身所不能完成的功能,從而讓WebDriver更加靈活和強大。
  本文中所提到的都是JAVA代碼。
  1. 在WebDriver中如何執行JavaScript代碼
  JavaScript代碼總是以字符串的形式傳遞給WebDriver,不管你的JavaScript代碼是一行還是多行,WebDriver都可以用executeScript方法來執行字符串中包含的所有JavaScript代碼。
  WebDriver driver = new FirefoxDriver();
  JavascriptExecutor driver_js=(JavascriptExecutor)driver;
  String js = "alert("Hello World!");";
  driver_js.executeScript( js);
  2.同步執行JavaScript和異步執行JavaScript的區別
  同步執行:driver_js.executeScript( js)
  如果JavaScript代碼的執行時間較短,可以選擇同步執行,因為Webdriver會等待同步執行的結果,然后再運行其它的代碼。
  異步執行:driver_js.executeAsyncScript(js)
  如果JavaScript代碼的執行時間較長,可以選擇異步執行,因為Webdriver不會等待其執行結果,而是直接執行下面的代碼。
  3. 用Javascript實現等待頁面加載的功能
  public void waitForPageLoad() {
  While(driver_js.executeScript("return document.readyState" ).equals ("complete")){
  Thread.sleep(500);
  }
  }
  這樣做的缺點是,沒有設定timeout時間,如果頁面加載一直不能完成的話,那么代碼也會一直等待。當然你也可以為while循環設定循環次數,或者直接采用下面的代碼:
protected Function<WebDriver, Boolean> isPageLoaded() {
return new Function<WebDriver, Boolean>() {
@Override
public Boolean apply(WebDriver driver) {
return ((JavascriptExecutor) driver).executeScript("returndocument.readyState").equals("complete");
}
};
}
public voidwaitForPageLoad() {
WebDriverWait wait = new WebDriverWait(driver, 30);
wait.until(isPageLoaded());
}
  需要指出的是單純的JavaScript是很難實現等待功能的,因為JavaScript的執行是不阻塞主線程的,你可以為指定代碼的執行設定等待時間,但是卻無法達到為其它WebDriver代碼設定等待時間的目的。有興趣的同學可以研究一下。
  4. Javascrpt模擬點擊操作,并觸發相應事件
  String js ="$("button.ui-multiselect.ui-widget").trigger("focus");"
  +"$("button.ui-multiselect.ui-widget").click();"
  +"$("button.ui-multiselect.ui-widget").trigger("open");";
  ((JavascriptExecutor)driver).executeScript( js);
  5. Javacript scrollbar的操作
  String js ="var obj = document.getElementsById(“div_scroll”);”
  +”obj.scrollTop= obj.scrollHeight/2;”
  ((JavascriptExecutor)driver).executeScript(js);

上一頁12下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 日韩国产欧美在线观看 | 国产50页| 在线视频永久在线视频 | 国产麻豆一级在线观看 | 日韩欧美福利 | 日本的黄色一级片 | 激情网婷婷 | 波多野结衣一区二区在线 | 成人18免费网站在线观看 | 日韩视频免费看 | 国产精品欧美一区二区三区 | 男女视频在线看 | 久久久亚洲国产精品主播 | 日本欧美中文字幕 | 日韩欧美在线综合网高清 | 国产精品1024在线永久免费 | 毛片一级在线观看 | 2021国产精品成人免费视频 | 成片免费观看视频在线网 | 黄色的视频网站 | 成人精品视频在线观看播放 | 莉莉私人免费影院观看网站 | 日韩天堂在线 | 日本三级2021 | 免费看大黄高清网站视频在线 | 日本韩国三级在线 | 永久免费看www色视频 | 免费在线观看污片 | 免费在线观看的毛片 | 国产亚洲精品国产第一 | 午夜寂寞影院视频观看 | 亚洲国产欧美日韩一区二区三区 | 一级毛片aa高清免费观看 | 亚洲视频在线不卡 | 日日夜夜天天干干 | 日本三级黄色片 | 九九热亚洲精品综合视频 | 91精品欧美激情在线播放 | 热99re久久精品精品免费 | 白丝挠脚心tk调教vk | 国产精品日本一区二区在线看 |