您的位置:软件测试 > 开源软件测试 > 开源功能测试工具 > Selenium
Selenium2.0功能测试之WebDriver执行JS方法
作者:网络转载 发布时间:[ 2013/10/23 15:10:04 ] 推荐标签:

  如果你是一个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
}
}

上一页12下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd