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 ...
随机推荐
- 2018.09.08 AtCoder Beginner Contest 109简要题解
比赛传送门 水题大赛? 全是水题啊!!! T1 ABC333 就是判断是不是两个数都是奇数就行了. 代码: #include<bits/stdc++.h> using namespace ...
- DIV+CSS实战(三)
一.说明 在上篇博客<DIV+CSS实战(二)>中,实现了头部以及Tab标签卡,下面开始实现内容区域,要实现的效果如下: 二.内容最外层的设计(边框) 给最外层加边框,并且设置高度随着里面 ...
- Window 下好用的同步备份工具(来自微软)SyncToy
SyncToy 简单好用,满足备份的基本需求.
- hdu 5009 离散化
http://acm.hdu.edu.cn/showproblem.php?pid=5009 有一段序列,涂连续一段子序列的代价为该子序列出现不同数字个数的平方,求最小代价涂完整个序列. ai有10^ ...
- 理解Struts2的Action中的setter方法是怎么工作的
接触过webwork和Struts2的同行都应该知道, 提交表单的时候,只要Action中的属性有setter 方法,这些表单数据就可以正确赋值到Action中属性里:另外对于Spring配置文件中声 ...
- 用C#开发的双色球走势图(原创)值得园友拥有(二)接上一篇
昨晚由于时间的原因只写了一部分内容,今天将这一部分内容补充完毕,多谢各位园友的支持. 这是用C#开发的双色球走势图(原创)值得园友拥有 新的园友可以看昨晚写的内容,以免脱节.首先回复园友的评论,有说好 ...
- 常用到的一些js方法,记录一下
获取字符串长度 function GetStringLength(str) { return str.replace(/[^\x00-\xff]/g, "00").length; ...
- Day 62 Django第三天
2.GET请求能够被cache,GET请求能够被保存在浏览器的浏览历史里面(密码等重要数据GET提交,别人查看历史记录,就可以直接看到这些私密数据)POST不进行缓存. 3.GET参数是带在URL后面 ...
- kolla-ansible 源码下载
下载地址: https://pypi.org/project/kolla-ansible/ ansible下载: https://releases.ansible.com/ansible/rpm/re ...
- 世界线(bzoj2894)(广义后缀自动机)
由于春希对于第二世代操作的不熟练,所以刚使用完\(invasion process\)便掉落到了世界线之外,错综复杂的平行世界信息涌入到春希的意识中.春希明白了事件的真相. 在一个冬马与雪菜同时存在的 ...