qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請?jiān)L問 http://qaseven.github.io/

          Selenium2.0功能測試之WebDriver執(zhí)行JS方法

            如果你是一個(gè)JS高手的話可以在WebDriver 中直接執(zhí)行JS代碼來提升效率,一般用到執(zhí)行js的場景主要分一下兩種:
            在頁面加載的時(shí)候執(zhí)行JS
            在某個(gè)已經(jīng)定位了的元素上執(zhí)行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>
          相關(guān)文章:
          Selenium2.0功能測試之Web元素的操作

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

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

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 南靖县| 亳州市| 白朗县| 广州市| 定南县| 申扎县| 天水市| 万年县| 凤翔县| 介休市| 福州市| 临邑县| 和田县| 甘孜县| 会同县| 禹城市| 咸宁市| 衢州市| 乌兰浩特市| 塔河县| 苏尼特左旗| 靖安县| 营口市| 乐昌市| 阳高县| 留坝县| 阜南县| 娄烦县| 雅安市| 枣强县| 新津县| 府谷县| 南宫市| 龙南县| 永平县| 榆中县| 西城区| 葵青区| 康平县| 泽州县| 彰武县|