本节主要详细描述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实例讲解的更多相关文章

  1. 5.6 WebDriver API实例讲解(16-30)

    16.操作单选框 被测试的网页为Demo1. Java语言版本的API实例代码: public static void operateRadio(){ driver.get("file:// ...

  2. 5.6 WebDriver API实例讲解(31-35)

    31.判断页面元素是否存在 public static void testElementExist(){ driver.get("http://www.sogou.com"); t ...

  3. 5.6 WebDriver API实例讲解(31-40)

    31.判断页面元素是否存在 public static void testElementExist(){ driver.get("http://www.sogou.com"); t ...

  4. 5.6 WebDriver API实例讲解(41-50)

    41.操作Web页面的滚动条 (1)滑动页面的滚动条到页面的最下面. (2)滑动页面的滚动条到页面的某个元素. (3)滑动页面的滚动条向下移动某个数量的像素. package apiSample; i ...

  5. WebDriver API 实例详解(四)

    三十一.使用页面的文字内容识别和处理新弹出的浏览器窗口 被测试网页的HTML源码: <html> <head> <meta charset="UTF-8&quo ...

  6. WebDriver API 实例详解(三)

    二十一.模拟鼠标右键事件 被测试网页的网址: http://www.sogou.com Java语言版本的API实例代码: package test; import org.testng.annota ...

  7. WebDriver API 实例详解(二)

    十一.双击某个元素 被测试网页的html源码: <html> <head> <meta charset="UTF-8"> </head&g ...

  8. WebDriver API 实例详解(一)

    一.访问某网页地址 被测试网页的网址: http://www.baidu.com Java语言版本的API实例代码: 方法1: package test; import org.testng.anno ...

  9. Selenium WebDriver Api 知识梳理

    之前一直没有系统的梳理WebDriver Api的相关知识,今天借此机会整理一下. 1.页面元素定位 1.1.8种常用定位方法 # id定位 driver.find_element_by_id() # ...

随机推荐

  1. VC++实现在系统托盘来新消息闪烁,鼠标悬停显示窗口

    转载:http://www.codeguru.com/cpp/com-tech/activex/tutorials/article.php/c8115/How-to-Implement-a-Mouse ...

  2. BZOJ 2756 奇怪的游戏(最大流)

    题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=2756 题意:在一个 N*M 的棋盘上玩,每个格子有一个数.每次 选择两个相邻的格子,并使 ...

  3. JSON 数据解析

    json解析的几种方法(将字符串解析为object对象和objectArray对象数组) 1 Android自带api  包名 org.json // json = {"school&quo ...

  4. 专题:php页面跳转方法

    php只有一种方法,利用JavaScript的window.location[和window.location.href效果相同]是一种方法,利用html的meta的Refresh是一种方法. 代码 ...

  5. Know How And When To Use System.Message_Level To Control Messages In Oracle Forms

    SYSTEM.MESSAGE_LEVEL is used to control the messages that end users see when they use the Oracle For ...

  6. PigSPS: a database for pig SNPs and signatures of positive selection

    URL: http://www.ibiomedical.net/pigsps/ keywords: pig, boar, SNP, positive selection, database, db, ...

  7. Hibernate 查询语句

    Hibernate查询语言(HQL)是一种面向对象的查询语言,类似于SQL,但不是对表和列操作,HQL适用于持久对象和它们的属性. HQL查询由Hibernate转换成传统的SQL查询,这在圈上的数据 ...

  8. 折半查找&clock函数

    #include <stdio.h>#include <time.h> #define CLOCKS_PER_SEC ((clock_t)1000) int binsearch ...

  9. NPOI利用多任务模式分批写入多个Excel

    接上文NPOI大数据分批写入同个Excel,这次是利用task多任务同时写入到多个Excel. Form2.cs private void btnExport_Click(object sender, ...

  10. Spring XML配置实现AOP

    1:  首先我们要定义 配置成切面的类 package cn.gbx.example; import org.aspectj.lang.ProceedingJoinPoint; import org. ...