18.3 Selenium(1)
总评
Selenium 是一个针对Web 应用程序的自动验收测试工具,通过编写模仿用户操作的测试脚本,我们可以从终端用户的角度来对Web 应用程序进行黑盒测试。Selenium 测试可以直接在浏览器内运行,它支持多种浏览器,以及各浏览器的多个不同版本。除了能够进行自动验收测试外,它还可以用于浏览器的兼容性测试。
功能和特点
JUnit 的主要用途是单元测试和组合测试,这大多是开发人员的工作。但对于一个真实的应用系统而言,这还是不够的。而在集成测试和验收测试时,尤其是目前广泛应用的Web 系统中,如何用自动化测试来替代繁重、易错而又无法回归的人工测试呢? Selenium 便是这一领域的后起之秀。
与其他测试工具相比,使用Selenium 的最大好处是:Selenium 测试可以直接在浏览器内运行,就像真实用户操作一样。目前,Selenium 支持Windows、Linux 和Macintosh 上多种版本的Internet Explorer、Mozilla 和Firefox 浏览器,覆盖平台之多也是其他测试工具不能比拟的。
Selenium 的使用有两种模式:Test Runner和Driven。这两种模式在编写方式和复杂性方面有所不同。在Test Runner 模式下,测试是完全在浏览器内运行的;而在Driven 模式下,测试则有一部分是在浏览器外运行的。Test Runner 模式下的测试脚本是用HTML 的表格布局编写的;Driven 模式下的测试脚本编写起来往往要更复杂一些,因为它们是用编程语言编写的。但是如果使用Python 或Ruby 之类的高级动态脚本语言,那么复杂性方面的差异就很小了。无论是哪种模式,都可以与持续集成工具很好地集成。
背景介绍
Selenium 先前是ThoughtWorks 员工的个人作品。2004 年,ThoughtWorks 的JasonHuggins、Paul Gross 和Jie Tina Wang 为当时的一个Web 报表系统共同开发了一个叫做JavaScript Functional Test Runner的自动测试工具,该工具能够对系统的功能进行自动化的验收测试。后来,Jason 向许多同事演示了他们的成果,不少人为该测试工具快速而直观的可视化反馈感到惊喜不已。同时,他们也感觉到,这一工具很有希望能够复用到许多其他的Web 应用系统中,从而成为一个通用的测试框架。随后,许多ThoughtWorks 的咨询人员,还有一些外部群体,都开始加入了Selenium 的开发队伍中。在短短的两三年时间里,Selenium 已经有了长足的发展。Selenium 非常有希望成为Web 应用领域里,多语言多平台自动化测试工具的事实标准。有意思的是,2006 年6 月在北京举办的第十届中国国际软件博览会上,Selenium 获得了“最具增值潜力软件产品(应用软件)”的称号。目前,国内应用Selenium的软件开发组织也在逐渐增多。
参考资料
网站类
1.http://www.openqa.org
这是一个专门致力于提供开源QA工具的网站,创建于2005年12月。虽然时间不长,但很活跃。时下流行的Web测试工具Selenium,便是该网站下的一个子项目。除Selenium外,OpenQA还包含了另外几个开源的QA项目,它们是:Floyd、pyWinAuto、Watir、WET。该网站受到一些业内公司的赞助和支持,它们包括:Autoriginate、Contegix、Jive Software、Caucho、ThoughtWorks和Atlassian。
2.http://fitnesse.org
FitNesse的官方主页。FitNesse是一个利用Wiki语法来编写测试脚本,自动执行测试,并以Wiki方式展现测试结果的自动验收测试框架。其工作方式在某些地方和Selenium有类似之处。不过,FitNesse的实现思路却是来源于另一个经典的集成测试框架——Fit(Framework forIntegrated Test),而Fit的作者便是Wiki的发明人Ward Cunningham。
快速上手教程
如前所述,Selenium 有Test Runner 和Driven 两种使用模式。初学者首先接触的通常是TestRunner 模式,同时这也是对一般QA 或测试人员而言较为适合的一种使用模式,因为它不涉及程序代码,而是通过一种被称为Selenese 的简单易学的脚本语言,直接在HTML 页面中编写使用。测试人员可以利用任何一款常见的HTML 编辑工具(如FrontPage、Dreamwaver 等),方便地编写验收测试脚本。
| 回书目 上一节 下一节 |
|
· 第六章 你能帮我吗?.. · Linux笔试面试题选摘测.. · 08年5月软考网管上午真.. · 性能测试从零开始 目录 · 08年5月软考网工上午真.. · 上周拒绝服务攻击(DDo.. |
· 08年5月各大网上书店及.. · 2008年5月24日软考试题.. · 软件设计师专家临考模.. · 上周网络管理员专家自.. · 网络工程师自测获奖名.. · 08年4月各大网上书店及.. |
|
||||
| · ASP.NET开发教程 · 超级计算机TOP500专题 · Vista SP1对决XP SP3 · SQL Server 2008/2005.. · 浏览器的战国时代 · Windows Server 2008专.. · 程序员如何成长? · C#技术开发指南 |
· 虚拟化技术还有点“虚” · 专题:ASP.NET 2.0基础.. · LAMP技术精解 · 服务器节能与绿色IT · Linux 集群技术专题 · Windows集群服务应用 · CISSP认证成长之路 · SQL Server入门到精通 |
|||
|
||||
| · SOA 面向服务架构 · SQL Server 2008/2005.. · Apache技术专题 · 三层交换技术专题 · SQL Server入门到精通 · C#技术开发指南 · Apache技术专题 · Windows集群服务应用 |
· C#技术开发指南 · 国际文档格式标准开战 · 路由器设置与口令恢复 · Linux 集群技术专题 · PHP开发应用手册 · SOA 面向服务架构 · 企业数据恢复指南 · 了解统一威胁管理(UTM).. |
|||
|
||||
| · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · C#技术开发指南 · 三层交换技术专题 · Apache技术专题 · C#技术开发指南 |
· 企业数据恢复指南 · Windows集群服务应用 · 路由器设置与口令恢复 · Linux 集群技术专题 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · 反垃圾邮件技术应用 · 访问控制列表(ACL)介绍 |
|||