Selenium([səˈliːniəm],硒(化学元素))是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。
功能-
框架底层使用JavaScript模拟真实用户对浏览器进行操作。测试脚本执行时,浏览器自动按照脚本代码做出点击,输入,打开,验证等操作,就像真实用户所做的一样,从终端用户的角度测试应用程序。
-
使浏览器兼容性测试自动化成为可能,尽管在不同的浏览器上依然有细微的差别。
-
使用简单,可使用Java,Python等多种语言编写用例脚本。
据 Selenium 主页所说,与其他测试工具相比,使用 Selenium 的最大好处是:
Selenium 测试直接在浏览器中运行,就像真实用户所做的一样。Selenium 测试可以在 Windows、Linux 和 Macintosh上的 Internet Explorer、Chrome和 Firefox 中运行。其他测试工具都不能覆盖如此多的平台。使用 Selenium 和在浏览器中运行测试还有很多其他好处。
下面是主要的两大好处:
通过编写模仿用户操作的 Selenium 测试脚本,可以从终端用户的角度来测试应用程序。通过在不同浏览器中运行测试,更容易发现浏览器的不兼容性。Selenium 的核心,也称browser bot,是用 JavaScript 编写的。这使得测试脚本可以在受支持的浏览器中运行。browser bot 负责执行从测试脚本接收到的命令,测试脚本要么是用 HTML 的表布局编写的,要么是使用一种受支持的编程语言编写的。
Selenium 2.0适用于以下浏览器:
-
Google Chrome
-
Internet Explorer 7, 8, 9, 10, 11
-
Firefox
-
Safari
-
Opera
-
HtmlUnit
-
phantomjs
-
Android
-
iOS
Selenium 1.0适用于以下浏览器:
Browser
Selenium IDE
Selenium Remote Control
Selenium Core
Selenium 2/Webdriver API
Firefox 10
Record and playback tests
Start browser, run tests
Run tests
Run tests
Firefox 9
Record and playback tests
Start browser, run tests
Run tests
Run tests
Firefox 8
Record and playback tests
Start browser, run tests
Run tests
Run tests
Firefox 7
Record and playback tests
Start browser, run tests
Run tests
Run tests
Firefox 6
Record and playback tests
Start browser, run tests
Run tests
Run tests
Firefox 5
Record and playback tests
Start browser, run tests
Run tests
Run tests
Firefox 4
Record and playback tests
Start browser, run tests
Run tests
Run tests
Firefox 3.6
Record and playback tests
Start browser, run tests
Run tests
Run tests
Firefox 3
Record and playback tests
Start browser, run tests
Run tests
not supported
IE 9
not supported
Start browser, run tests
Run tests
Run tests
IE 8
not supported
Start browser, run tests
Run tests
Run tests
IE 7
not supported
Start browser, run tests
Run tests
Run tests
Safari 3
not supported
Start browser, run tests
Run tests
not supported
Safari 2
not supported
Start browser, run tests
Run tests
not supported
Opera 9
not supported
Start browser, run tests
Run tests
Run tests
Opera 8
not supported
Start browser, run tests
Run tests
Run tests
Chrome
not supported
Start browser, run tests***
Run tests***
Run tests***
Others
not supported
Partial support possible*
Run tests**
not supported
发展历史2004年,Thoughtworks的员工Jason Huggins编写了一个名为JavaScriptTestRunner的测试工具,并于当年向多位同事展示,该工具进一步进化为一个可以复用的测试框架并开源。
同时Bea, Dan Fabulich和Nelson Sproul等人修改架构为独立服务模式,期间有多位开发人员加入开发并推出了Selenium RC和Selenium-IDE。
Jason Huggins 2007年从Thoughtworks离职并加入Selenium support团队,同年Google多名员工加入开发,并在GTAC会议上介绍了Selenium在Google的使用情况。
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脚本和JUnit单元测试结合起来,既能涵盖功能测试,又能涵盖数据或后台Java类测试,从而构成一个完整的Web应用测试解决方案。
首先要安装JRE,从官网(文后参考资料)下载Selenium RC的程序Jar包,存放在硬盘的某个目录中,如E:/Selenium/ 。
启动Selenium RC服务,启动cmd模式,进入到selenium RC所在的目录后,输入: java -jar selenium-server.jar 。启动完成后,可以看到以下信息,即表示启动成功。
selenium server启动成功