1. 启动浏览器

前边有详细介绍启动三种浏览器的方式(IE、Chrome、Firefox);

        private WebDriver driver = null;

	private String chromeDriverDir = "D:\\workspace\\A_Test\\resource\\chromedriver.exe";

	/**
* 打开谷歌浏览器;
*/
public void openChromeBrowser(){
System.setProperty("webdriver.chrome.driver", chromeDriverDir);
driver = new ChromeDriver();
}

2.访问网页地址

方式一:

        /**
* 访问网页地址方式一;
*/
public void visitURL1(){
String baseUrl = "http://www.baidu.com/";
driver.get(baseUrl);
}

方式二:

       /**
* 访问网页地址方法二;
*/
public void visitURL2(){
String baseUrl = "http://www.sogou.com/";
driver.navigate().to(baseUrl);
}

3. 模拟后退功能

        /**
* 模拟后退功能;
*/
public void visitRecentUrl(){
String url1 = "http://www.baidu.com/";
String url2 = "http://www.sogou.com/";
driver.navigate().to(url1); //先访问百度
driver.navigate().to(url2); //再访问搜狗
driver.navigate().back(); //返回上一次返回的百度页面;
}

4.模拟前进功能

        /**
* 模拟前进功能;
*/
public void visitNextUrl(){
String url1 = "http://www.baidu.com/";
String url2 = "http://www.sogou.com/";
driver.navigate().to(url1); //先访问百度
driver.navigate().to(url2); //再访问搜狗
driver.navigate().back(); //返回上一次返回的百度页面;
driver.navigate().forward(); //从百度页面跳转的搜狗页面;
}

5. 刷新页面

        /**
* 刷新当前页面;
*/
public void refreshCurrentPage(){
String baseUrl = "http://www.sogou.com/";
driver.navigate().to(baseUrl);
driver.navigate().refresh(); //刷新当前页面
}

6.窗口最大化

        /**
* 窗口最大化
*/
public void maxWindows(){
String baseUrl = "http://www.sogou.com/";
driver.navigate().to(baseUrl);
driver.manage().window().maximize(); //窗口最大化;
}

7.获取当前页面的title属性值

        /**
* 获取当前页面的title属性值;
*/
public void getTitle(){
String url = "http://www.baidu.com/";
driver.navigate().to(url);
String title = driver.getTitle(); //获取当前页面的title值;
System.out.println(title);
}

QQ图片20161117210058.jpg1117x456 68.6 KB

8.获取当亲页面的源代码

        /**
* 获取当前页面的源代码;
*/
public void getPageSource(){
String url = "http://www.baidu.com/";
driver.navigate().to(url);
String source = driver.getPageSource(); //获取当前页面的源代码;
System.out.println(source);
}

9. 获取当前页面的网址

        /**
* 获取当前页面的网址;
*/
public void getCurrentUrl(){
String url = "http://www.baidu.com/";
driver.navigate().to(url);
String currentUrl = driver.getCurrentUrl(); //获取当前页面的网址;
System.out.println(currentUrl);
}

10. 在输入框中清空原有的文字内容

        /**
* 清空输入框原有的文字内容
*/
public void clearText(){
//获取输入框对象;
WebElement inputText = driver.findElement(By.id("kw"));
//清空输入框中的默认文字
inputText.clear();
}

11.在输入框中输入指定文本内容

        /**
* 在输入框中输入指定文本
*/
public void inputText(){
//获取输入框对象;
WebElement inputText = driver.findElement(By.id("kw"));
//编辑需要输入的文本;
String text = "UI 自动化";
//在输入框中的输入文本
inputText.sendKeys(text); //sendKeys()方法,是用于输入;
}

12.单击按钮

        /**
* 单击按钮
*/
public void clickButton(){
//获取按钮对象;
WebElement button = driver.findElement(By.id("su"));
//判断按钮是否可用
boolean isEnabled = button.isEnabled();
//如果按钮可以点击,就点击按钮;
if(isEnabled){
button.click();
}
}

13.双击元素

        /**
* 双击某个元素
*/
public void doubleClick(){
//获取输入框对象;
WebElement inputText = driver.findElement(By.id("kw"));
//声明Action对象
Actions action = new Actions(driver);
//使用doubleClick方法,双击输入框;
action.doubleClick(inputText).build().perform();
}

14.右击元素

	/**
* 右击某个元素
*/
public void rightClick(){
//获取输入框对象;
WebElement inputText = driver.findElement(By.id("kw"));
//声明Action对象
Actions action = new Actions(driver);
//使用contextClick方法,右击输入框;
action.contextClick(inputText).build().perform();
}

15.操作单选下拉列表

QQ图片20161117213829.png1077x660 61.5 KB

(1)使用下拉列表的下标选择子选项;

	/**
* 通过下标选择下拉框的值;
*/
public void operateDropListByIndex(){
//获取下拉列表元素对象;
WebElement selectElement = driver.findElement(By.id("session_kept"));
//声明Select对象;
Select select = new Select(selectElement);
//通过子选项的下标来选择:下标从0开始
select.selectByIndex(0); //表示选择第一个子选项:不保存登录状态;
}

(2)使用value选择;

	/**
* 通过子选项的value选择下拉框的值;
*/
public void operateDropListByValue(){
//获取下拉列表元素对象;
WebElement selectElement = driver.findElement(By.id("session_kept"));
//声明Select对象;
Select select = new Select(selectElement);
//通过子选项的选项的value值来选择:
String value = "60" ; //例如:“保存一小时 ” 这个选项的value值是:60
select.selectByValue(value);
}

(3)通过可见文本选择;

	/**
* 通过子选项的可见文本选择下拉框的值;
*/
public void operateDropListByVisibleText(){
//获取下拉列表元素对象;
WebElement selectElement = driver.findElement(By.id("session_kept"));
//声明Select对象;
Select select = new Select(selectElement);
//通过子选项的选项的value值来选择:
String visibleText = "保存一天" ; //例如:第6个选项的 可见文本是:“保存1天 ” ;
select.selectByVisibleText(visibleText);
}

16.操作链接

	/**
* 点击链接对象;
*/
public void clickLinkText(){
//获取链接元素对象;
WebElement link = driver.findElement(By.linkText("快速注册"));
//点击链接对象;
link.click();
}

17.操作单选按钮

	/**
* 操作单选框RadioButton
*/
public void clickRadioButton(){
//获取单选按钮元素对象;
WebElement radio = driver.findElement(By.id("identity"));
//判断单选按钮是否已经被选中;
boolean isSelect = radio.isSelected();
//如果没有选中,就点击,如果已经选中,就不操作;
if(!isSelect){
radio.click();
}
}

18.操作复选框

	/**
* 操作复选框CheckBox
*/
public void clickCheckBox(){
//获取复选框元素对象;
WebElement checkbox = driver.findElement(By.id("checked"));
//判断复选框是否已经被选中;
boolean isSelect = checkbox.isSelected();
//如果没有选中,就点击,如果已经选中,就不操作;
if(!isSelect){
checkbox.click();
}
} 我们专注于持续集成,更多原创请关注:www.hordehome.com

基于Selenium2+Java的UI自动化(4) - WebDriver API简单介绍的更多相关文章

  1. 基于Selenium2+Java的UI自动化(1) - 原理和环境搭建

    一.Selenium2的原理 Selenium1是thoughtworks公司的一个产品经理,为了解决重复烦躁的验收工作,写的一个自动化测试工具,其原理是用JS注入的方 式来模拟人工的操作,但是由于J ...

  2. 基于Selenium2+Java的UI自动化(8)- 显式等待和隐式等待

    一.隐式等待 package com.automation.waits; import java.util.concurrent.TimeUnit; import org.openqa.seleniu ...

  3. 基于Selenium2+Java的UI自动化(6)-操作Alert、confirm、prompt弹出框

    alert.confirm.prompt这样的js对话框在selenium1 时代处理起来比价麻烦,常常要用autoit来帮助处理.而现在webdriver对这些弹出框做了专门的处理,使用seleni ...

  4. 基于Selenium2+Java的UI自动化(2) - 启动浏览器

    一.准备工作 我们常用的浏览器主要有三个:chrome.Firefox.IE:其中chrome 和 IE 需要下载驱动程序,才能启动浏览器,注意驱动程序有32位和64位两种. 另外:如何查看本机的浏览 ...

  5. 基于Selenium2+Java的UI自动化(3) - 页面元素定位

    一.几种网页定位方式 webdriver的页面定位很灵活,提供了8种定位方式: 其中,常见的有三种:id .cssSelector .xpath: 一个元素如果存在 id 属性,则这个 id 的值,在 ...

  6. 基于Selenium2+Java的UI自动化(5) - 执行JavaScript脚本

    一.操作日期选择框 QQ图片20161118215530.png1336x545 22.6 KB 说明:日期选择框大部分是不支持前端输入的,因为这个对象是 readOnly,只读属性,selenium ...

  7. iOS开发UI篇—UITableview控件简单介绍

    iOS开发UI篇—UITableview控件简单介绍 一.基本介绍 在众多移动应⽤用中,能看到各式各样的表格数据 . 在iOS中,要实现表格数据展示,最常用的做法就是使用UITableView,UIT ...

  8. 测试自动化:java+selenium3 UI自动化(2) - 启动Firefox

    1. selenium和浏览器 基于selenium的这套自动化体系,其实现关键就在于对于各浏览器的顺畅操作. 事实上当selenium刚开始起家的时候,他使用的还是javascript注入的方式来驱 ...

  9. 测试自动化:java+selenium3 UI自动化(1) - 环境搭建

    1.前言 我大概是在2012年第一次正式接触到自动化测试,那个时候跟随我的团队一起,就当时项目的UI自动化尝试做出了探索. 在我离开那家公司的时候,我们的自动化测试体系仍然难言完美,但是也已经达到了非 ...

随机推荐

  1. ado.dataset

    DataSet是ADO.NET的中心概念.可以把DataSet当成内存中的数据库,DataSet是不依赖与数据库的独立数据集合.所谓独立,就是说,即使断开数据链路,或者关闭数据库,DataSet依然是 ...

  2. wuzhicms 查看模板中的所有可用变量和值

    将代码放到模板中. {php print_r(get_defined_vars());} 页面显示如下: 这样看不清楚. 通过查看页面源文件的方式打开. 例如:chrome 浏览器打开方式,在页面空白 ...

  3. linux下mysql命令

    一.总结一下: 1.linux下启动mysql的命令:   mysqladmin start/ect/init.d/mysql start (前面为mysql的安装路径) 2.linux下重启mysq ...

  4. windows 2003 插金税盘 可以识别, 但是会蓝屏重启

  5. Java中HashMap和TreeMap的区别深入理解

    首先介绍一下什么是Map.在数组中我们是通过数组下标来对其内容索引的,而在Map中我们通过对象来对对象进行索引,用来索引的对象叫做key,其对应的对象叫做value.这就是我们平时说的键值对. Has ...

  6. CP2102模块介绍(USB转uart)

    1.主芯片为CP2102,安装驱动后生成虚拟串口2.USB取电,引出接口包括3.3V(<40mA),5V,GND,TX,RX,信号脚电平为3.3V,正逻辑3.板载状态指示灯.收发指示灯,正确安装 ...

  7. [iOS基础控件 - 5.5] 代理设计模式 (基于”APP列表"练习)

    A.概述      在"[iOS基础控件 - 4.4] APP列表 进一步封装,初见MVC模式”上进一步改进,给“下载”按钮加上效果.功能      1.按钮点击后,显示为“已下载”,并且不 ...

  8. 转载Jquery中的三种$()

    1.$()可以是$(expresion),即css选择器.Xpath或html元素,也就是通过上述表达式来匹配目标元素. 比如:$("a")构造的这个对象,是用CSS选择器构建了一 ...

  9. CSS定义选择器

    ID与类 层叠 分组 继承 上下文选择器 子类选择器 其他选择器 结构与注释 20.1 ID与类 选择器是用于控制页面设计的样式.即ID选择器何类选择器. 一直以来,许多开发人员经常将ID与类混淆,或 ...

  10. vertical-align:top在单词和中文的表现

    <ul> <li> <img src="../../saasdist_v2/images/staff-img.png" alt="" ...