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. ios开发中,A valid provisioning profile for this executable was not found,的解决方法

    手头上的一个ios项目在上架后,再进行时出现了以上的这个错误,这是上架后忘了对一些配置进行复原 我的项目解决方法是: 是上面的这一块出现了问题,图片上的配置是正常的情况,但是上架的时候对其进行了修改, ...

  2. JAVA面试题——JAVA基础篇

    1.JAVA多态的实现方式:继承.重载.覆盖 2.JAVA有8种基本数据类型:byte.short.int.long.float.double.boolean.char 3.final.finally ...

  3. Getting Started with OWIN and Katana(Console 代替iis 制作 web服务的简单方案)

    Open Web Interface for .NET (OWIN) defines an abstraction between .NET web servers and web applicati ...

  4. nyoj 236 心急的C小加

    心急的C小加 时间限制:1000 ms  |  内存限制:65535 KB 难度:4   描述 C小加有一些木棒,它们的长度和质量都已经知道,需要一个机器处理这些木棒,机器开启的时候需要耗费一个单位的 ...

  5. nyoj 289 苹果

    苹果 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 ctest有n个苹果,要将它放入容量为v的背包.给出第i个苹果的大小和价钱,求出能放入背包的苹果的总价钱最大值. ...

  6. [Objective-c 基础 - 3.3] block数据类型

    A.概念 1.block类似函数 (1)可以保存代码 (2)有返回值 (3)有形参  2.block的标志:^ // 没有参数和返回值的block void (^myblock)() = ^{ // ...

  7. Razor模板引擎(C#版)语法

    1.简介: Razor 是一种标记语法,可以让您将基于服务器的代码(Visual Basic 和 C#)嵌入到网页中. 基于服务器的代码可以在网页传送给浏览器时,创建动态 Web 内容.当一个网页被请 ...

  8. 将string转换成UTF8在进行请求

    在请求服务器时,如果参数中带有中文字符.就会报参数格式错误,需要将其转换成UTF8 @interface NSString (NSURLUtilities) /* Adds all percent e ...

  9. Django中载入js和css文件

    Django中载入js和css文件 项目的文件夹结构例如以下: mysite |-mysite |-|-static |-|---js和css文件 |-|-|-init.py |-| |-models ...

  10. joa-framework 工作流高速开发框架(jeecg官方工作流版本号) 公布

    -------------------------------------- version:  joa-framework1.0.0.beta 版本号: JOA 工作流高速开发框架   Date:  ...