本主要介绍以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 使用,既可以进行单元测试,也可以开展集成测试,既是代码测试工具,也是功能测试工具,下面我们就工具的使用一步一步的入门。

  1. 环境配置

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,首先在 windowspreferences 下选择编码格式为 UTF-8,如下图所示:

安装TestNG,Help-Eclipse Marketplace

4.2 新建项目

File new project,选择 java 项目,下一步:

输入项目名称 testngstudynextfinish

创建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:\\ProgramFiles\\driver\\chromedriver.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();
}
}

转自知乎:千锋软件测试学院