Selenium :浏览器自动化测试框架

更新时间:2024-09-20 18:11

Selenium是一款专为Web应用程序测试而设计的工具,通过在浏览器中模拟用户操作,测试应用程序的功能和兼容性。它支持多种主流浏览器,包括IE、Firefox、Safari、Google Chrome、Opera、Microsoft Edge等,使测试直接在浏览器中运行,仿佛真正的用户在进行操作。

Selenium具有三个主要功能。首先,它执行浏览器兼容性测试,确保应用程序在不同浏览器和操作系统上表现正常。其次,通过创建回归测试,验证软件功能和用户需求,进行系统功能测试。最后,Selenium支持自动录制用户动作,能够生成测试脚本,适用于多种编程语言,如.Net、Java、Perl等。

Selenium的使用具有多方面优势。它能有效进行浏览器兼容性测试,确保应用程序跨不同环境都能正常运行。通过支持系统功能测试,帮助创建回归测试,提高软件质量。Selenium的跨语言支持使得测试团队可以根据项目需求选择适用的编程语言,增加了灵活性和可定制性。

发展历史

Selenium 最初由 Jason Huggins 于 2004 年开发,作为思特沃克软件技术有限公司的内部工具。Huggins 后来由 ThoughtWorks 的其他程序员和测试人员加入,之后 Paul Hammant 加入团队并指导第二种操作模式的开发,该模式后来成为“Selenium 远程控制”(RC)。

2005 年Dan Fabulich 和 Nelson Sproul(在 Pat Lightbody 的帮助下)提出接受一系列补丁,这些补丁将使 Selenium-RC 变得更加出名。在同一次会议上,Selenium 作为一个项目将继续作为一个委员会进行指导,Huggins 和 Hammant 是 思特沃克软件技术有限公司 的代表。

2007年哈金斯加入谷歌。他与 Jennifer Bevan 等人一起继续开发和稳定 Selenium RC。与此同时ThoughtWorks 的 Simon Stewart 开发了一种名为 WebDriver 的高级浏览器自动化工具。

2009 年在 Google 测试自动化大会上,开发人员召开会议后,决定合并这两个项目,并将新项目称为 Selenium WebDriver,或 Selenium 2.0。

2008 年Philippe Hanrigou(当时在 思特沃克软件技术有限公司)制作了“Selenium Grid”,它提供了一个中心,允许在任意数量的本地或远程系统上同时运行多个 Selenium 测试,从而最大限度地减少测试执行时间。Grid 作为开源软件为 Selenium RC 提供了与内部/私有 谷歌 云类似的功能。 Pat Lightbody 已经为“HostedQA”创建了私有云,然后将其出售给 Gomez, Inc.。

Selenium 这个名字来自于 Huggins 在一封电子邮件中开的一个玩笑,嘲笑一个名叫的竞争对手,说通过服用补充剂可以治愈汞中毒。其他收到电子邮件的人记下了这个名字并用它运行。

功能与服务

框架底层使用ECMAScript模拟真实用户对浏览器进行操作。测试脚本执行时,浏览器自动按照脚本代码做出点击,输入,打开,验证等操作,就像真实用户所做的一样,从终端用户的角度测试应用程序。使浏览器兼容性测试自动化成为可能,尽管在不同的浏览器上依然有细微的差别。使用简单,可使用Java,Python等多种语言编写用例脚本。

据 Selenium 主页所说,与其他测试工具相比,使用 Selenium 的最大好处是:Selenium 测试直接在浏览器中运行,就像真实用户所做的一样。Selenium 测试可以在 Windows、Linux麦金塔上的 Internet Explorer、Google Chrome和 Firefox 中运行。其他测试工具都不能覆盖如此多的平台。使用 Selenium 和在浏览器中运行测试还有很多其他好处。

主要的两大好处有:通过编写模仿用户操作的 Selenium 测试脚本,可以从终端用户的角度来测试应用程序。通过在不同浏览器中运行测试,更容易发现浏览器的不兼容性。Selenium 的核心,也称网络浏览器 bot,是用 ECMAScript 编写的。这使得测试脚本可以在受支持的浏览器中运行。browser bot 负责执行从测试脚本接收到的命令,测试脚本要么是用 HTML 的表布局编写的,要么是使用一种受支持的编程语言编写的。

Selenium 2.0适用于以下浏览器:

Google Chrome、Internet Explorer 7, 8, 9, 10, 11、Firefox、Safari、Opera、Edge、HtmlUnit、phantomjs、Android、iOS

Selenium 1.0适用于以下浏览器:

参考资料

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}
友情链接: