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 ...
随机推荐
- 第九章:叹词(L'interjection )
➊叹词的使用词类 .拟声词.如: Ah !啊!呀!哎! Hein !嗯!呣!哎! Paf !啪!叭! Pouf !扑通(重物坠地声) Euh ...
- C#打印日志的小技巧
public static void Log(params System.Object[] message) { string str = ""; if (message == n ...
- 多块盘制作成一个lvm
1.创建pv[root@autodeploy nfs]# pvcreate /dev/vdd1WARNING: xfs signature detected on /dev/vdd1 at offse ...
- 20155216 2016-2017-2 《Java程序设计》第六周学习总结
20155216 2016-2017-2 <Java程序设计>第六周学习总结 教材学习内容总结 流与IO 将数据从来源中取出,可以使用输入串流:将数据写入目的地,可以使用输出串流,串流是有 ...
- c# 点击按选择图片然后展示在richTextBox中
OpenFileDialog o = new OpenFileDialog(); o.InitialDirectory = AppDomain.CurrentDomain.BaseDirectory; ...
- setTimeout问题
function fn(argu1){ alert(argu1); } setTimeout(fn, 1000, 12); setTimeout从第三个参数开始,之后的参数都是fn的.fn不用加(), ...
- queued frame 造成图形性能卡顿
曾经遇到过卡顿是类似的原因:当时对显卡底层知识理解不懂,看到引擎底层有一个MaxFramexxx的接口,实现是使用注册表修改显卡底层的注册信息,当时还是一个掉接口习惯的客户端码农的思维,没理解底层含义 ...
- Unidac连接出错:命名管道提供程序:管道的另一端上无任何进程.
环境: DELPHI XE ,UniDAC 6.2.8, (Options->Provider=prNativeClient) 程序编译后,放在Windows Server 2003 (sp2 ...
- memcached分布式缓存系统
在数据驱动的Web开发中,经常要重复从数据库中取出相同的数据,这种重复极大的增加了数据库负载.缓存是解决这个问题的好办法.但是ASP.NET中的虽然已经可以实现对页面局部进行缓存,但还是不够灵活.此时 ...
- SQL语句小tips(持续更新)
统计非法数据 判断people_id是否是32为字母组成的,统计不满足要求的数据 SELECT COUNT(IF(BINARY people_id NOT REGEXP '^[0-9a-z]{32}' ...