WebDriverAPI(5)
将当前浏览器截屏
测试网址
http://www.baidu.com
Java语言版本实例
@Test
public void captureScreenInCurrentWindows() {
driver.manage().window().maximize();
driver.get(url);
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
try {
FileUtils.copyFile(scrFile,new File("D:\\a.png"));
} catch (Exception e) {
e.printStackTrace();
}
}
杀掉Windows的浏览器进程
测试前打开3个浏览器
Java语言实例代码:
@Test
public void operateWindowsProcess(){
WindowsUtils.tryToKillByName("firefox.exe");
WindowsUtils.tryToKillByName("iexplore.exe");
WindowsUtils.tryToKillByName("chrome.exe");
}
将当前浏览器截屏
测试网址
http://www.baidu.com
Java语言版本实例
@Test
public void isElementTextPresent() {
driver.manage().window().maximize();
driver.get(url);
WebElement text = driver.findElement(By.xpath("//*[@id='u1']/a[1]"));
String contentText = text.getText();
//判断页面文字是否匹配
Assert.assertEquals("新闻", contentText);
//判断页面文字是否包含
Assert.assertTrue(contentText.contains("新"));
//判断页面文字开头是否匹配
Assert.assertTrue(contentText.startsWith("新"));
//判断页面文字结尾文字是否匹配
Assert.assertTrue(contentText.endsWith("闻"));
}
执行avaScript脚本
测试网址
http://www.baidu.com
Java语言版本实例
@Test
public void executeJavaScript() {
driver.manage().window().maximize();
driver.get(url);
//声明一个JavaScript对象
JavascriptExecutor js = (JavascriptExecutor) driver;
//调用executeScript方法执行return document.title
String title = (String) js.executeScript("return document.title");
Assert.assertEquals("百度一下,你就知道", title);
//获取按钮对象返回按钮文字
String serachButtonText = (String) js.executeScript("var button = document.getElementById('su');return button.value");
System.out.println(serachButtonText);
}
拖拽页面元素
测试网址
https://jqueryui.com/draggable/
Java语言版本实例
@Test
public void dragePageElement() throws InterruptedException {
driver.manage().window().maximize();
driver.navigate().to(url);
//找到需配置的对象
Thread.sleep(6000);
//切换至第一个iframe
driver.switchTo().frame(0);
WebElement draggable = driver.findElement(By.xpath("//*[@id='draggable']"));
//向下拖动10个像素,共5次
for(int i=0;i<5;i++){
//0表示坐标不变
new Actions(driver).dragAndDropBy(draggable, 0, 10).build().perform();
}
Thread.sleep(2000);
//向右拖动10个像素,共5次
for(int i=0;i<5;i++){
new Actions(driver).dragAndDropBy(draggable, 10, 0).build().perform();
}
Thread.sleep(2000);
}
模拟键盘操作
测试网址
http://www.baidu.com
Java语言版本实例
@Test
public void clickKeys() {
driver.manage().window().maximize();
driver.navigate().to(url);
Actions action = new Actions(driver);
action.keyDown(Keys.CONTROL); //按下ctrl
action.keyDown(Keys.SHIFT); //按下shift
action.keyDown(Keys.ALT); //按下Alt
action.keyUp(Keys.CONTROL); //松开ctrl
action.keyUp(Keys.SHIFT); //松开shift
action.keyUp(Keys.ALT); //松开alt
//模拟输入大写字符
action.keyDown(Keys.SHIFT).sendKeys("abcdefg").perform();
}
模拟鼠标右键操作
测试网址
http://www.baidu.com
Java语言版本实例
@Test
public void rightClickMouse() {
driver.manage().window().maximize();
driver.get(url);
Actions action = new Actions(driver);
//模拟鼠标右键事件
action.contextClick(driver.findElement(By.id("kw"))).perform();
}
WebDriverAPI(5)的更多相关文章
- WebDriverAPI(7)
查看页面元素的属性 测试网址 http://www.baidu.com Java语言版本API实例 @Test public void getWebElementAttribute() { dri ...
- WebDriverAPI(10)
操作Frame页面元素 测试网址代码 frameset.html: <html> <head> <title>frameset页面</title> &l ...
- WebDriverAPI(9)
操作JavaScript的Alert窗口 测试网址代码 <html> <head> <title>你喜欢的水果</title> </head> ...
- WebDriverAPI(4)
单击某个元素 采用元素id.click()方法即可 双击某个元素id.doubleClick 操作单选下拉列表 测试网页HTML代码 <html> <body> <sel ...
- WebDriverAPI(2)
操作浏览器窗口 被测网址http:http://www.baidu.com Java语言版本的API实例代码 String url = "http://www.baidu.com" ...
- WebDriverAPI(8)
判断页面元素是否存在 测试网址 http://www.baidu.com Java语言版本API实例 @Test public void testIsElementPresent(){ driver. ...
- WebDriverAPI(6)
在指定元素上方进行鼠标悬浮 测试网址 http://www.baidu.com Java语言版本实例 @Test public void roverOnElement() { driver.manag ...
- WebDriverAPI(3)
获取页面的Title属性 被测网址http:http://www.baidu.com Java语言版本的API实例代码 String url = "http://www.baidu.com& ...
- WebDriverAPI(1)
访问某网页地址 被测网址http:http://www.baidu.com Java语言版本的API实例代码 方法一: @Test public void visitURL(){ String bas ...
随机推荐
- 34.More-healthyful Menu Options for Kids 给孩子提供的更健康菜式选择
34.More-healthyful Menu Options for Kids 给孩子提供的更健康菜式选择 ① French fries,washed down with a pint of sod ...
- CentOS yum 源的配置与使用(引用)
http://www.cnblogs.com/mchina/archive/2013/01/04/2842275.html
- 记录一次shell里局部变量的问题
一:起因是这样的,自己今天面试被问到怎么读取某文件夹下所有的文件的每一行的数值的总和:其中文件中数值在每一行里的格式为num|,如33|,因此我第一想到的是通过cut -d\| f1 file来获取每 ...
- Hive 1.2.1&Spark&Sqoop安装指南
目录 目录 1 1. 前言 1 2. 约定 2 3. 服务端口 2 4. 安装MySQL 2 4.1. 安装MySQL 2 4.2. 创建Hive元数据库 4 5. 安装步骤 5 5.1. 下载Hiv ...
- JavaScript面向对象编程[转]
JavaScript面向对象编程 命名空间 命名空间是一个容器,它允许开发人员在一个独特的,特定于应用程序的名称下捆绑所有的功能. 在JavaScript中,命名空间只是另一个包含方法,属性,对象的对 ...
- 小强 ROS 机器人教程
首先请您自行依据线标提示将小强接线连接好,完整结构如下两图所示: 小强是属于Turtlebot机器人.它由底盘.主机.Kinect相机(通过USB连接主机)组成,没有显示屏.如果要通过显示器查看主机的 ...
- Sensor fusion(传感器融合)
From Wikipedia, the free encyclopedia 来自维基百科,免费的百科Sensor fusion is combining of sensory data or data ...
- (回文串 Manacher )Girls' research -- hdu -- 3294
http://acm.hdu.edu.cn/showproblem.php?pid=3294 Girls' research Time Limit:1000MS Memory Limit:32 ...
- hdu 4994 前后有序Nim游戏
http://acm.hdu.edu.cn/showproblem.php?pid=4994 Nim游戏变成从前往后有序的,谁是winner? 如果当前堆数目为1,玩家没有选择,只能取走.遇到到不为1 ...
- .Net socket服务器编程之为何也高效
说到Socket编程,肯定大部分人举手c,c++.可惜现在已没有机会去追随并达到写服务器的水平,所以将就下还是考虑c#版的Socket服务器吧. 经过一番查询,试用.一些数据和事实还是浮出水面,同时对 ...