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 閱讀(4709) 評論(0)  編輯  收藏 所屬分類: selenium and watir webdrivers 自動化測試學習

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

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 商丘市| 汉寿县| 格尔木市| 都江堰市| 界首市| 延庆县| 芦溪县| 额敏县| 珠海市| 布尔津县| 梧州市| 城步| 惠水县| 武汉市| 噶尔县| 高平市| 上犹县| 大邑县| 蒲城县| 锦州市| 宁阳县| 东阿县| 东莞市| 绿春县| 册亨县| 新龙县| 拜城县| 丹棱县| 布拖县| 永福县| 来安县| 盘山县| 六盘水市| 赣州市| 湄潭县| 瓦房店市| 新沂市| 石阡县| 项城市| 延安市| 游戏|