目录
1、selenium介绍
Selenium 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera,Edge等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。
把Selenium RC脚本和JUnit单元测试结合起来,既能涵盖功能测试,又能涵盖数据或后台Java类测试,从而构成一个完整的Web应用测试解决方案。
与其他测试工具相比,使用 Selenium 的最大好处是:
Selenium 测试直接在浏览器中运行,就像真实用户所做的一样。Selenium 测试可以在 Windows、Linux 和 Macintosh上的 Internet Explorer、Chrome和 Firefox 中运行。其他测试工具都不能覆盖如此多的平台。使用 Selenium 和在浏览器中运行测试还有很多其他好处。
Selenium的优点:
通过编写模仿用户操作的 Selenium 测试脚本,可以从终端用户的角度来测试应用程序。通过在不同浏览器中运行测试,更容易发现浏览器的不兼容性。selenium"三多",即多平台、多语言、多浏览器。
Selenium 的核心,也称browser bot,是用 JavaScript 编写的。这使得测试脚本可以在受支持的浏览器中运行。browser bot 负责执行从测试脚本接收到的命令,测试脚本要么是用 HTML 的表布局编写的,要么是使用一种受支持的编程语言编写的。
-
Google Chrome
-
Internet Explorer 7, 8, 9, 10, 11
-
Firefox
-
Safari
-
Opera
-
Edge
-
HtmlUnit
-
phantomjs
selenium组件:
-
Selenium IDE:一个Firefox插件,可以录制用户的基本操作,生成测试用例。随后可以运行这些测试用例在浏览器里回放,可将测试用例转换为其他语言的自动化脚本。
-
Selenium Remote Control (RC) :支持多种平台(Windows,Linux,Solaris)和多种浏览器(IE,Firefox,Opera,Safari),可以用多种语言(Java,Ruby,Python,Perl,PHP,C#)编写测试用例。
-
Selenium Grid :允许Selenium-RC 针对规模庞大的测试案例集或者需要在不同环境中运行的测试案例集进行扩展。
Selenium RC工作流程
- 1. 测试用例通过Http请求建立与 selenium-RC server 的连接
- 2. Selenium RC Server 驱动一个浏览器,把Selenium Core加载入浏览器页面当中,并把浏览器的代理设置为Selenium Server的Http Proxy
- 3. 执行用例向Selenium Server发送Http请求,Selenium Server对请求进行解析,然后通过Http Proxy发送JS命令通知Selenium Core执行操作浏览器的动作并注入 JS 代码
- 4.Selenium Core执行接受到的指令并操作
- 5. 当浏览器收到新的请求时,发送http请求
- 6. Selenium Server接收到浏览器发送的Http请求后,自己重组Http请求,获取对应的Web页面
- 7. Selenium Server中的Http Proxy把接受到的页面返回给浏览器
2、使用 Selenium RC 创建自动化程序
现在以Mac、Chrome + java +idea 环境为例,介绍一下selenium rc 的使用过程
2.1 安装selenium
打开终端 ->pip安装(安装命令:pip3 install selenium)
2.2 安装浏览器驱动
2.2.1 查看浏览器版本
因为不同的浏览器版本需要使用不同的驱动,所以首先要查看一下浏览器的版本,来下载对应的驱动
2.2.2 查找Chrome和ChromeDriver的对应关系
Chrome73以上版本,ChromeDriver版本与Chrome版本均保持一致;Chrome73以下版本,可参考以下关系表,查找ChromeDriver版本。
2.2.3 下载对应ChromeDriver
ChromeDriver下载地址:http://chromedriver.storage.googleapis.com/index.html 选择对应版本下载,把下载的文件解压,把chromedriver.exe拷到/usr/local/bin/下(由于Mac该目录是隐藏的,所以可通过快捷键command+shift+g打开)
2.2.4 ChromeDriver环境配置
添加chromedriver.exe到环境变量
- 打开命令行终端,输入vim ~/.bash_profile
- 添加一行:export PATH=$PATH:/usr/local/bin/chromedriver,保存并退出
- 执行source ~/.bash_profile,让修改生效
查看ChromeDriver版本:chromedriver –version。
2.3 创建一个项目
2.3.1 首先打开idea,选择 create new project,选择创建Java项目,然后一路选择next,创建项目完成
2.3.2 导入项目所需要的selenium的jar包
下载 selenium-server-standalone-3.4.0.jar 包
导入刚刚下载的本地jar包,导入方法可参考 https://blog.csdn.net/weixin_42614570/article/details/100162630
2.3.3 创建一个java class
运行代码,会打开Chrome浏览器,并进入百度首页,则表示selenium运行成功
package com.selenium;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class SeleniumTest {
public static void main(String[] args) {
WebDriver driver = new ChromeDriver();
driver.get("https://www.baidu.com");
}
}