本主要介绍以Java为基础,搭建Selenium自动化测试环境,并且实现代码编写的过程。
1.Selenium介绍
Selenium 1.0 包含 core、IDE、RC、grid 四部分,selenium 2.0 则是在两位大牛偶遇相互沟通决定把面向对象结构化(OOPP)和便于编写代码的各自思想予以整合后形成的新工具,也就是我们所指的 Web Driver。Core 是 selenium 的核心,在后期虽然被封装,但只是减少了可视性,它依旧是驱动selenium 的核心;IDE 是一款 firefox 浏览器插件,主要用于新手或对编码还不熟悉的人员入门时使用,这个插件允许在 firefox 中录制一段 web 操作代码,导出后在 eclipse 中修改并运行,但测试人员在项目实际使用中不推荐使用这个插件,因为它只会降低测试人员的编码能力; Web Driver 是开展 web 页面测试的关键核心,也是目前主流测试工具之一。Selenium 可以结合 Junit 使用,既可以进行单元测试,也可以开展集成测试,既是代码测试工具,也是功能测试工具,下面我们就工具的使用一步一步的入门。
2. 环境配置
2.1 安装JDK
同样正确配置 jre 路径后点击下一步
输入:java –version 验证 jdk 安装正确性
2.2 配置环境变量
创建JDK Home路径
追加配置 path 的系统环境变量
3.Selenium IDE的使用
3.1 环境准备
1)安装 firefox
如果不使用默认安装,以后使用代码中是要加料的哦~,这里我们以普通用户习惯,不
安装在系统盘中,稍后将对需要修改配置的地方做说明。
3.2 使用selenium IDE
1) 安装 Selenium IDE 插件
打开 firefox 浏览器,附加组件搜索selenium IDE,在弹出的软件安装页面中点击立即安装,安装后重新启动浏览器,插件将起作用。
2) Selenium IDE 其他的重要功能
本文开始时提到了,Selenium IDE 还有一个重要的功能就是把脚本的转
换,一起看看吧:>
Selenium IDE 可以把 HTML 的脚本转为 C#,JAVA 等等其他语言的脚本,为我们日后写 WebDriver 的测试案例提供了极大的方便。
4.WebDriver实例
4.1 准备工作
打开 Eclipse,首先在 windowspreferences 下选择编码格式为 UTF-8,如下图所示:
安装TestNG,Help-Eclipse Marketplace
4.2 新建项目
File new project,选择 java 项目,下一步:
输入项目名称 testngstudynextfinish
创建selenium脚本,选择TestNG class,点击Next
4.3 开始编码
- Java+Selenium 实现登录功能
说明:纯 Java 的时候不需要引入TestNG,只需要引入“selenium-server-standalone-2.21.0.jar”包。
文件名称:TestBaidu0325.java
文件代码:
package com.study;
import org.junit.Assert;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class TestBaidu0325 {
public static void main(String[] args) {
/*google浏览器*/
System.setProperty("webdriver.chrome.driver","C:ProgramFilesdriverchromedriver.exe")找不到chromedriver时,强制制定webdriver路径。
WebDriver driver =new ChromeDriver();
String url = "http://www.baidu.com";
driver.get(url);
driver.manage().window().maximize();窗口最大化,加大页面回访的稳定性
driver.findElement(By.id("kw")).sendKeys("selenium");
driver.findElement(By.id("su")). click ();
try {
Thread.sleep(1000);延时设置,避免网页加载慢找不到页面元素
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
/*所谓的断言*/
Assert.assertTrue(driver.getTitle().contains(“selenium”));
driver.quit();
}
}