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 阅读(4684) 评论(0)  编辑  收藏 所属分类: selenium and watir webdrivers 自动化测试学习


只有注册用户登录后才能发表评论。


网站导航:
 
<2013年10月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

导航

统计

常用链接

留言簿(55)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜