Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera,Edge等。这个工具的主要功能包括:测试与浏览器的兼容性——测试应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成.Net、Java、Perl等不同语言的测试脚本。
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。启动完成后,可以看到以下信息,即表示启动成功。
框架底层使用JavaScript模拟真实用户对浏览器进行操作。测试脚本执行时,浏览器自动按照脚本代码做出点击,输入,打开,验证等操作,就像真实用户所做的一样,从终端用户的角度测试应用程序。
使浏览器兼容性测试自动化成为可能,尽管在不同的浏览器上依然有细微的差别。
使用简单,可使用Java,Python等多种语言编写用例脚本。
据Selenium主页所说,与其他测试工具相比,使用Selenium的最大好处是:
Selenium测试直接在浏览器中运行,就像真实用户所做的一样。Selenium测试可以在Windows、Linux和Macintosh上的Internet Explorer、Chrome和Firefox中运行。其他测试工具都不能覆盖如此多的平台。使用Selenium和在浏览器中运行测试还有很多其他好处。
Selenium完全开源,对商业用户也没有任何限制,支持分布式,拥有成熟的社区与学习文档
下面是主要的几大好处:
通过编写模仿用户操作的Selenium测试脚本,可以从终端用户的角度来测试应用程序。通过在不同浏览器中运行测试,更容易发现浏览器的不兼容性。Selenium的核心,也称browser bot,是用JavaScript编写的。这使得测试脚本可以在受支持的浏览器中运行。browser bot负责执行从测试脚本接收到的命令,测试脚本要么是用HTML的表布局编写的,要么是使用一种受支持的编程语言编写的。
Selenium 2.0适用于以下浏览器:
Google Chrome
Internet Explorer 7, 8, 9, 10, 11
Firefox
Safari
Opera
Edge
HtmlUnit
phantomjs
Android
iOS