本主要介绍以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:\\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();
-
}
-
}
总结:
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
-
文档获取方式:
-
加入我的软件测试交流群:680748947免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)
这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领取