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() # ...
随机推荐
- django学习の模型
orm:对象数据库和模型的映射.如果想以简单的方式去操作数据库,例如用类的方式去操作,就像 p = Person.get(id = 1),那么就必须使得代码和数据库的结构具有映射关系,实现这种关系,你 ...
- 6-JS函数(二)
函数 函数的实参和形参 function temp (a,b){ console.log(a) }; // a , b为两个形参 var a1 = 2; var b1 = 3; temp(a1,b1) ...
- sysbench 0.5 oltp测试笔记
sysbench 0.5相比0.4版本的主要变化是,oltp测试结合了lua脚本,不需要修改源码,通过自定义lua脚本就可以实现不同业务类型的测试.同时0.5相比0.4需要消耗更多的cpu资源. 1. ...
- HTML系列(HTMl+CSS+JavaScript+Jquery)--un
HTML 指超文本标签语言. 点击查看更详细的HTML内容 包括:一.基本标签;二.常用标签;三.表单<form></form>;四.表格<table></t ...
- shoususaiBti
Description 郭橐驼,不知始何名.病偻,隆然伏行,有类橐驼者,故乡人号之驼.驼闻之,曰:“甚善.名我固当.”因舍其名,亦自谓橐驼云.其乡曰丰乐乡,在长安西.驼业种树,凡长安豪富人为观游及卖果 ...
- iOS 关于使用xib创建cell的两种初始化方式
[转]http://my.oschina.net/CgShare/blog/337406 方法一: 第一步: [self.collectionView registerNib:[UINib nibWi ...
- jquery相对选择器,又叫context选择器,上下文选择器;find()与children()区别
jquery相对选择器有两个参数,jQuery函数的第二个参数可以指定DOM元素的搜索范围(即以第二个参数指定的内容为容器查找指定元素). 第二个参数的不同的类型,对应的用法如下表所示. 类型 用法 ...
- TCP的3次握手和4次挥手
TCP的3次握手和4次挥手 标签(空格分隔): 找工作 TCP Flags: TCP首部中有6个标志比特,主要用于操控TCP的状态机的,依次为URG, ACK, PSH, RST, SYN, FIN, ...
- HTMl中Meta标签详解以及meta property=og标签含义
meta是用来在HTML文档中模拟HTTP协议的响应头报文.META标签是HTML语言HEAD区的一个辅助性标签,它位于HTML文档头部的<HEAD>标记和<TITLE>标记之 ...
- Jenkins-CVE-2016-0792漏洞利用及修复建议
漏洞概述: 国外网站 Contrast Security 于2016年2月24日在公开了Jenkins近日修复的一个可通过低权限用户调用 API 服务致使的命令执行漏洞详情.通过低权限用户构造一个恶意 ...