Selenium是最广泛使用的开源Web UI(用户界面)自动化测试套件之一。Selenium支持跨不同浏览器,平台和编程语言的自动化。
Selenium简介
Selenium不仅仅是一个工具,而是一套软件,每个软件都有不同的方法来支持自动化测试。它可以被用于单元测试,回归测试,冒烟测试,集成测试,验收测试,并且可以运行在各种浏览器和操作系统上。
它由四个主要组成部分组成,包括:
Selenium集成开发环境(IDE)
Selenium远程控制器(现已弃用)
webdriver
Selenium Grid
1. Selenium集成开发环境(IDE)
Selenium IDE实现为Firefox扩展,在测试脚本上提供记录和回放功能。 它允许测试人员以HTML,Java,Ruby,RSpec,Python, C# ,JUnit和TestNG等多种语言导出录制的脚本。 可以在Selenium RC或Webdriver中使用这些导出的脚本。
Selenium IDE的范围有限,生成的测试脚本不是非常健壮和可移植。
2. Selenium远程控制器
Selenium RC(由selenium正式弃用)允许测试人员使用任何支持的编程语言编写自动化Web应用程序UI测试。 它还涉及一个HTTP代理服务器,它使浏览器能够相信正在测试的Web应用程序来自代理服务器提供的域。
Selenium RC有两个组件。
- Selenium RC Server(充当Web请求的HTTP代理)。
- Selenium RC Client(包含编程语言代码的库)。
3. Selenium WebDriver
Selenium WebDriver(Selenium 2)是Selenium RC的继承者,也是Selenium Suite最重要的组件。 SeleniumWebDriver提供了一个编程接口来创建和执行测试用例。 编写测试脚本是为了识别网页上的Web元素,然后对这些元素执行所需的操作。
与Selenium RC相比,Selenium WebDriver执行速度更快,因为它可以直接调用Web浏览器。 另一方面,RC需要RC服务器与Web浏览器进行交互。
因为,WebDriver直接调用不同浏览器的方法,因此每个浏览器都有单独的驱动程序。 一些最广泛使用的Web驱动程序包括:
- Mozilla Firefox驱动程序(Gecko驱动程序)
- 谷歌Chrome驱动程序
- Internet Explorer驱动程序
- Opera驱动程序
- Safari驱动程序
- HTML单元驱动程序(一个特殊的无头驱动程序)
注意:Selenium版本2将Selenium RC和Selenium WebDriver的最佳功能合并到Selenium WebDriver中,最新发布的Selenium 3具有新增功能和功能。
4. Selenium Grid
Selenium Grid也是Selenium Suite的一个重要组件,它允许在不同的机器上并行运行不同浏览器的测试。 简单来说,可以在运行不同浏览器和操作系统的不同机器上同时运行测试。
Selenium Grid遵循Hub-Node架构来实现测试脚本的并行执行。Hub被视为网络的主设备,另一个将是节点。 Hub控制在网络的各个节点上执行测试脚本。
Selenium IDE
Selenium IDE(集成开发环境)是Selenium Suite下的开源Web自动化测试工具。 只需记录与浏览器的交互以创建测试用例。 之后,可以使用播放选项重新运行测试用例。记录的测试脚本也可以导出到C#,Java,Ruby或Python等编程语言。
Selenium IDE下载并安装
1 下载火狐浏览器 — 菜单(右上角)— 附件组件,在搜索中 ‘selenium ide’,见到如下图标,点开 ‘Add to Firefox’。
最后可以在附件组件中的拓展出处查看是否安装成功。
2 设置快捷图标
当我们在安装的时候,会弹出对话框询问是否要求将Selenium IDE添加为Firefox浏览器的扩展名。确定之后就可以设置Selenium IDE快捷图标。
转到Firefox浏览器的右上角,查找Selenium IDE图标,单击该图标以启动Selenium IDE。
编写测试用例
Selenium IDE中的整个测试脚本创建过程可分为三个步骤:
- 录制(记录用户与浏览器的交互)
- 播放(执行录制的脚本)
- 保存测试套件
接下来通过一个在京东首页搜索手机为例。
1. 录制测试用例
以下以测试京东首页的搜索功能为例
- 启动Firefox浏览器。
- 单击浏览器右上角的Selenium图标。启动Selenium IDE的默认界面,如下图。

- 记录一个新的测试项目(选择第一项),将测试项目命名为:test1 ,然后再输入网址 https://www.jd.com。

- 点击确定后,Selenium IDE会自动跳转到所输入的网址开始录制。
我们可以通过Selenium IDE界面的右上角按钮关闭录制。但是当再次打开按钮时,则是一个新的测试用例,之前的测试用例就会被覆盖。
2 手动创建测试用例
我们可以通过测试用例编辑器,编辑command 和 target 以及value值可以编辑每步运行过程。
当网页元素不太好确定的时候,通过target行的第一个按钮在网页中去选中元素。

3 运行测试用例
通过工具栏按钮回放测试,在日志区可以查看用例的测试运行结果。如上图,当出现succfully字样,则说明运行成功。
Selenium WebDriver
Selenium WebDriver是Selenium Tool套件中最重要的组件。在WebDriver中,可以使用任何支持的编程语言开发测试脚本,并且可以在大多数现代Web浏览器中直接运行。
简单命令:Selenium WebDriver中使用的大多数命令都易于实现。 例如,要使用以下命令在WebDriver中启动浏览器:
Selenium WebDriver 安装
Selenium WebDriver安装过程分四个基本步骤完成:
- 下载并安装Java 8或更高版本。
- 下载并配置Eclipse或选择其它Java IDE。
- 下载Selenium WebDriver Java客户端
- 配置Selenium WebDriver
1 下载Selenium WebDriver Java客户端
打开网址https://docs.seleniumhq.org/download/,找到Selenium Client & WebDriver Language Bindings菜单,如下图选择java的download即可。

下载并解压,目录结构如下

2 配置Selenium WebDriver
把Selenium WebDriver配置Eclipse IDE。也就是在Eclipse中创建一个新的Java项目并加载所有必要的jar文件,以便创建Selenium Test Scripts。
1)新建一个java项目,导入jar包
启动Eclipse IDE ,从 File -> New -> Java Project 创建一个新的Java Project。右键项目点击 Build path -> Java Build Path
切换到Libraries 选项卡,然后单击“Add External JARs” 按钮。打开“libs” 文件夹,选择所有所有的jar文件,然后单击“打开”按钮。
获得Libraries 选项卡中的所有Selenium jar 文件后,单击Apply and Close 按钮。
2)最后检查jar包是否导入成功
查看项目下的Referenced Libraries时候有导入的 jar包

以上Eclipse IDE成功配置了Selenium WebDriver
Eclipse中编写测试脚本
1 下载火狐的webDriver
首先我们需要下载一个浏览器的webDriver 这里我下载的是火狐浏览器,下载网址是https://github.com/mozilla/geckodriver/releases。下载相应操作系统的压缩包,解压,记住exe文件的位置。
2 编写测试用例
这次编写一个在京东首页搜索的测试用例:
- 打开网址为https://www.jd.com/的网页
- 点击id为‘ key’ 的输入框
- 在id为‘ key’ 输入框中输入‘手机’
- 点击class为’ button ‘的按钮
在编写测试用例的时候我们需要定位html元素,以便通过测试脚本自动执行这些元素。下面给出了在Selenium WebDriver中通过“id” 定位元素的Java语法。
1 | driver.findElement(By.id (<element ID>)); |
具体代码如下
1 | package test1; |
3 运行测试用例
右键单击Eclipse代码,然后选择:Run As -> Java Application 。
上述测试脚本将启动Firefox浏览器,并执行搜索。
编写测试用例的时候需要用到WebDriver中的Selenium命令,可以搜索进行学习。