5.7 WebDriver API实例讲解
本节主要详细描述WebDriver的常用API使用方法。
1.访问某网页地址
被测试网页的网址:http://www.sogou.com。
Java语言版本的API实例代码:
方法1:
public static void visitURL(){
String baseUrl="http://www.sogou.com";
driver.get(baseUrl);
}
方法2:
public static void visitURL(){
String baseUrl="http://www.sogou.com";
driver.navigate().to(baseUrl); //访问sogou首页
}
2.返回上一个访问的网页(模拟单击浏览器的后退功能)
被测试网页的网址:http://www.sogou.com, http://www.baidu.com
Java语言版本的API实例代码:
public static void visitRecentURL(){
String url1="http://www.sogou.com";
String url2="http://www.baidu.com";
driver.navigate().to(url1); //先访问sogou首页
driver.navigate().to(url2); //再跳转访问Baidu首页
driver.navigate().back(); //返回到上一次访问的sogou首页页面
3.从上次访问网页前进到下一个网页(模拟单击浏览器的前进功能)
被测试网页的网址:http://www.sogou.com, http://www.baidu.com
Java语言版本的API实例代码:
public static void visitNextURL(){
String url1="http://www.sogou.com";
String url2="http://www.baidu.com";
driver.navigate().to(url1); //先访问sogou首页
driver.navigate().to(url2); //再跳转访问Baidu首页
driver.navigate().back(); //返回到上一次访问的sogou首页页面
driver.navigate().forward(); //从sogou首页页面跳转到Baidu首页
}
4.刷新当前网页
被测试网页的网址:http://www.sogou.com, http://www.baidu.com
Java语言版本的API实例代码:
public static void freshCurrentPage(){
String url="http://www.sogou.com";
driver.navigate().to(url); //访问sogou首页
driver.navigate().refresh(); //刷新当前页面
}
5.操作浏览器窗口
被测试网页的网址:http://www.sogou.com。
Java语言版本的API实例代码:
public static void operateBrowser(){
//声明一个Point对象,两个150表示浏览器的位置相对于屏幕左上角(0,0)的横坐标举例和纵坐标举例
Point point=new Point(,);
//声明Dimension对象,两个500表示浏览器窗口的长度和宽度
Dimension dimension=new Dimension(,);
//setPosition方法表示设定浏览器在屏幕上的位置为point对象的坐标(150,150),在某些版本浏览器下次方法失效
driver.manage().window().setPosition(point);
//setSize方法表示设定浏览器窗口的大小为长为500个单位和宽为500个单位
driver.manage().window().setSize(dimension);
//getPosition方法表示获取浏览器在屏幕的位置,在某些浏览器版本下次方法失效
System.out.println(driver.manage().window().getSize());
//maximize方法表示将浏览器窗口最大化
driver.manage().window().maximize();
driver.get("http://www.sogou.com");
}
6.获取页面的Title属性
被测试网页的网址:http://www.sogou.com。
Java语言版本的API实例代码:
public static void getTitle(){
driver.get("http://www.sogou.com");
//调用driver的getTitle方法获取页面的Title属性
String title=driver.getTitle();
//打印从当前页面获取的Title内容
System.out.println(title);
}
7.获取页面的源代码
public static void getPageSource(){
driver.get("http://www.sogou.com");
String pageSource=driver.getPageSource();
System.out.println(pageSource);
}
8.获取当前页面的URL地址
public static void getCurrentPageUrl(){
driver.get("http://www.sogou.com/");
String CurrentPageUrl=driver.getCurrentUrl();
System.out.println(CurrentPageUrl);
}
9.在输入框中清除原有的文字内容
public static void clearInputBoxText(){
WebElement input=driver.findElement(By.id("text"));
input.clear();
}
10.在输入框中输入指定内容
public static void clearInputBoxText(){
String inputString="测试工程师指定的输入内容";
WebElement input=driver.findElement(By.id("text"));
input.clear(); //首先清除文本框中的原有内容,防止原有内容影响测试结果,建议都清除掉
input.sendKeys(inputString);
}
11.单击按钮
public static void clickButton(){
WebElement button=driver.findElement(By.id("button"));
button.click();
}
12.双击某个元素
public static void doubleClick(){
WebElement inputBox=driver.findElement(By.id("inputBox"));
Actions builder=new Actions(driver);
builder.doubleClick(inputBox).build().perform();
}
13.操作单选下拉列表
被测试的网页Demo1下载
public static void operateDropList(){
driver.get("file:///D:/%E6%95%99%E5%AD%A6/2015-2016-2/%E8%AF%BE%E4%BB%B6/w9/SeleniumDemo/files/Demo1/demo.html");
Select dropList=new Select(driver.findElement(By.name("select")));
System.out.println("此下拉列表是否允许多选:"+dropList.isMultiple()); System.out.println("当前选中的选项文本是:"+dropList.getFirstSelectedOption().getText()); dropList.selectByIndex();
System.out.println("下拉列表第3项是:"+dropList.getFirstSelectedOption().getText()); dropList.selectByValue("saab");
System.out.println("希望选中值为saab,当前选中的选项文本是:"+dropList.getFirstSelectedOption().getText()); dropList.selectByVisibleText("奥迪");
System.out.println("希望选中文字为奥迪,当前选中的选项文本是:"+dropList.getFirstSelectedOption().getText());
}
14.检查单选列表的选项文字是否符合期望
public static void checkSelectText(){
driver.get("file:///D:/%E6%95%99%E5%AD%A6/2015-2016-2/%E8%AF%BE%E4%BB%B6/w9/SeleniumDemo/files/Demo1/demo.html");
Select dropList=new Select(driver.findElement(By.name("select")));
List<String> expect_options=Arrays.asList((new String[]{"沃尔沃","萨博","欧宝","奥迪"}));
List<String> actual_option=new ArrayList<String>();
for(WebElement option:dropList.getOptions())
{
actual_option.add(option.getText());
}
if(expect_options.equals(actual_option))
System.out.println("一致");
else
System.out.println("不一致");
}
15.操作多选的选择列表
public static void operateMultipleOptionDropList(){
driver.get("file:///D:/%E6%95%99%E5%AD%A6/2015-2016-2/%E8%AF%BE%E4%BB%B6/w9/SeleniumDemo/files/Demo1/demo.html");
Select dropList=new Select(driver.findElement(By.name("fruit")));
System.out.println("此下拉列表是否允许多选:"+dropList.isMultiple()); dropList.selectByIndex();
dropList.selectByValue("shanzha");
dropList.selectByVisibleText("荔枝");
sleep();
dropList.deselectAll();
sleep(); dropList.selectByIndex();
dropList.selectByValue("shanzha");
dropList.selectByVisibleText("荔枝");
sleep();
dropList.deselectByIndex();
sleep();
dropList.deselectByValue("shanzha");
sleep();
dropList.deselectByVisibleText("荔枝");
}
5.7 WebDriver API实例讲解的更多相关文章
- 5.6 WebDriver API实例讲解(16-30)
16.操作单选框 被测试的网页为Demo1. Java语言版本的API实例代码: public static void operateRadio(){ driver.get("file:// ...
- 5.6 WebDriver API实例讲解(31-35)
31.判断页面元素是否存在 public static void testElementExist(){ driver.get("http://www.sogou.com"); t ...
- 5.6 WebDriver API实例讲解(31-40)
31.判断页面元素是否存在 public static void testElementExist(){ driver.get("http://www.sogou.com"); t ...
- 5.6 WebDriver API实例讲解(41-50)
41.操作Web页面的滚动条 (1)滑动页面的滚动条到页面的最下面. (2)滑动页面的滚动条到页面的某个元素. (3)滑动页面的滚动条向下移动某个数量的像素. package apiSample; i ...
- WebDriver API 实例详解(四)
三十一.使用页面的文字内容识别和处理新弹出的浏览器窗口 被测试网页的HTML源码: <html> <head> <meta charset="UTF-8&quo ...
- WebDriver API 实例详解(三)
二十一.模拟鼠标右键事件 被测试网页的网址: http://www.sogou.com Java语言版本的API实例代码: package test; import org.testng.annota ...
- WebDriver API 实例详解(二)
十一.双击某个元素 被测试网页的html源码: <html> <head> <meta charset="UTF-8"> </head&g ...
- WebDriver API 实例详解(一)
一.访问某网页地址 被测试网页的网址: http://www.baidu.com Java语言版本的API实例代码: 方法1: package test; import org.testng.anno ...
- Selenium WebDriver Api 知识梳理
之前一直没有系统的梳理WebDriver Api的相关知识,今天借此机会整理一下. 1.页面元素定位 1.1.8种常用定位方法 # id定位 driver.find_element_by_id() # ...
随机推荐
- Linux 在一个命令行上执行多个命令
Linux 在一个命令行上执行多个命令 1. [ ; ] 如果被分号(;)所分隔的命令会连续的执行下去,就算是错误的命令也会继续执行后面的命令. 2. [ && ] 如果命令被 &am ...
- CSRF的防御实例(PHP)
CSRF的防御可以从服务端和客户端两方面着手,防御效果是从服务端着手效果比较好,现在一般的CSRF防御也都在服务端进行. 1.服务端进行CSRF防御 服务端的CSRF方式方法很多样,但总的思想都是一致 ...
- SpringMVC 配置过滤器解决中文乱码问题
<!-- 字符集过滤器 --> <filter> <filter-name>Charset</filter-name> ...
- SQL语句like子句中的转义符
如果想在SQL LIKE里查询有下划线'_'或是'%'等值的记录,直接写成like 'XXX_XX',则会把'_'当成是like的通配符.SQL里提供了 escape子句来处理这种情况,escape可 ...
- 嵌套结构使用:struc1-struc2-XXX
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- Kazam: a perfect srceen recorder in Linux/Ubuntu
Kazam provides a well designed and easy to use interface for capturing screencasts and screenshots. ...
- CSS笔记(二)CSS属性选择器
对带有指定属性的HTML元素设置样式. 参考: http://www.w3school.com.cn/css/css_syntax_attribute_selector.asp 选择器 描述 [att ...
- POJ1088滑雪(记忆化搜索+DFS||经典的动态规划)
Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 84297 Accepted: 31558 Description M ...
- perl的map函数
perl的map函数的使用: 语法 map EXPR, LIST map BLOCK LIST 定义和使用 对list中的每个元素执行EXPR或BLOCK,返回新的list.对每一此迭代,$_中保存了 ...
- ubuntu12.04_命令
1. 切换 终端方式 与 图形界面方式: 切换到 终端方式:ctrl+alt+F1~F6(貌似有时 alt+F1~F6也行?) 切换回 图形界面方式:ctrl+alt+F7 2. ubuntu12.0 ...