您的位置:軟件測試 > 開源軟件測試 > 開源功能測試工具 > Selenium
Selenium2.0功能測試之WebDriver執(zhí)行JS方法
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2013/10/23 15:10:04 ] 推薦標簽:

  如果你是一個JS高手的話可以在WebDriver 中直接執(zhí)行JS代碼來提升效率,一般用到執(zhí)行js的場景主要分一下兩種:
  在頁面加載的時候執(zhí)行JS
  在某個已經(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
}
}

上一頁12下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd