qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          Selenium2.0功能測試之WebDriver執行JS方法

            如果你是一個JS高手的話可以在WebDriver 中直接執行JS代碼來提升效率,一般用到執行js的場景主要分一下兩種:
            在頁面加載的時候執行JS
            在某個已經定位了的元素上執行js
          Demos:
          package org.coderinfo.demo;
          import org.openqa.selenium.By;
          import org.openqa.selenium.JavascriptExecutor;
          import org.openqa.selenium.WebDriver;
          import org.openqa.selenium.WebElement;
          import org.openqa.selenium.chrome.ChromeDriver;
          public class ExecuteJSOnPageLoading {
          private static final String URL = "file:///C:/user/Desktop/Selenium/jsdemo.html";
          public static void main(String[] args) {
          WebDriver driver = new ChromeDriver(); // create a chrome driver
          driver.manage().window().maximize(); // max size the chrome window
          driver.get(URL); // open URL with the chrome browser
          try {
          Thread.sleep(2000); // wait for web loading
          } catch (InterruptedException e) {
          e.printStackTrace();
          }
          // Execute JavaScript on page loading
          ((JavascriptExecutor)driver).executeScript("alert(\"Hello,World!\")");
          ele.click();
          try {
          Thread.sleep(5000);
          } catch (InterruptedException e) {
          e.printStackTrace();
          }
          driver.quit(); // close webdriver
          }
          }
          package org.coderinfo.demo;
          import org.openqa.selenium.By;
          import org.openqa.selenium.JavascriptExecutor;
          import org.openqa.selenium.WebDriver;
          import org.openqa.selenium.WebElement;
          import org.openqa.selenium.chrome.ChromeDriver;
          public class ExecuteJSOnWebElement {
          private static final String URL = "file:///C:/user/Desktop/Selenium/jsdemo.html";
          public static void main(String[] args) {
          WebDriver driver = new ChromeDriver(); // create a chrome driver
          driver.manage().window().maximize(); // max size the chrome window
          driver.get(URL); // open URL with the chrome browser
          try {
          Thread.sleep(2000); // wait for web loading
          } catch (InterruptedException e) {
          e.printStackTrace();
          }
          /*
          * Execute JavaScript on web element
          */
          WebElement ele = driver.findElement(By.id("js")); // locate web element
          ((JavascriptExecutor) driver)
          .executeScript(
          "arguments[0].onclick=function(){alert('js has been execute!');}",
          ele); // add js on the web element
          ele.click();
          try {
          Thread.sleep(5000);
          } catch (InterruptedException e) {
          e.printStackTrace();
          }
          driver.quit(); // close webdriver
          }
          }




           這里是用來測試的jsdemo.html的源碼:
          <!DOCTYPE html>
          <html>
          <head>
          <title>JavaScript Demo</title>
          </head>
          <body>
          <form action="#" method="get">
          <input type="button" id="js" value="TestExecuteJS"/>
          </form>
          </body>
          </html>
          相關文章:
          Selenium2.0功能測試之Web元素的操作

          posted on 2013-10-24 10:44 順其自然EVO 閱讀(4707) 評論(0)  編輯  收藏 所屬分類: selenium and watir webdrivers 自動化測試學習

          <2013年10月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 民和| 靖远县| 东方市| 右玉县| 玉环县| 雅江县| 大荔县| 育儿| 澎湖县| 蒙阴县| 开平市| 民乐县| 疏勒县| 永安市| 大悟县| 桐梓县| 台东县| 徐水县| 正镶白旗| 利川市| 阿拉善左旗| 临猗县| 迁安市| 台北县| 石河子市| 视频| 兴宁市| 出国| 吉水县| 宁陵县| 新兴县| 师宗县| 江安县| 饶阳县| 民权县| 邹城市| 射洪县| 卢氏县| 温州市| 申扎县| 长春市|