基于Selenium Web自动化测试框架.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Selenium Web自动化测试框架

基于Selenium Web自动化测试框架   摘要 随着Web应用的快速发展,Agile开发方法和持续集成被广泛运用。软件测试对于保证软件产品的质量至关重要,而通过搭建良好的测试框架来实现自动化测试,可以降低各测试模块之间的耦合,提高测试的效率和覆盖率,同时也降低了测试的成本,更好的保证软件质量。   关键词:自动化测试;测试框架;Selenium;TestNG   中图分类号TP311.5 文献标识码A 文章编号 1674-6708(2011)51-0187-02   0 引言   随着Web应用的增多,新的模式解决方案中以Web为核心的应用也越来越多。而Web应用程序的验收测试常常涉及一些手工任务,例如打开一个浏览器,并执行一个测试用例中所描述的操作。但是手工执行的任务容易出现操作人员人为的错误,也比较浪费时间。因此,尽可能将这些任务自动化,以消除人为因素,这是一种很好的做法。不仅可以提高软件测试的可靠性,而且节约了成本,更好的保证软件的质量。如何提高自动化测试脚本的维护性和移植性,成为一个亟待解决的问题。   本文通过介绍自动化测试工具Selenium,并结合测试框架TestNG,构建分层的Selenium框架进行复杂的Web应用的自动化测试。   1 Web自动化测试   软件测试对软件质量的保证起着至关重要的作用,当前软件开发往往采取Agile开发方法和持续集成的策略。当测试人员一次又一次地完成相同的测试时,这些测试将变得非常令人厌烦。因此,通过自动化测试来实现重复的和一致的回归测试,可以提高测试效率、降低测试成本、保证一致性、实现快读的回归测试、提高测试的可靠性、避免人为因素。   1.1 Web自动化测试简介   自动化测试工具很多,有开源的,也有商业化的,它们各有各的特点。常见的Web自动化测试工具有:QTP、Win Runner、Load Runner、Robot、SilkTest、Selenium等。而Selenium可以说是测试Web最全面的开源自动化工具,它支持多种浏览器和多种操作系统,可以在Windows、Linux、Mac和Solaris上运行,而且可以使用多种编程语言进行构建,如Java、C#、Perl、PHP、Python、Ruby,它可以测试的浏览器有IE、Firefox、Opera、Safari、Chrome。   1.2 Web自动化测试软件   1.2.1 Selenium组件   Selenium通过模拟用户对Web页面的各种操作,可以精确重现测试人员编写的测试用例的步骤。Selenium包含的组件有:   1)Selenium Core:是驱动Selenium工作的核心部分,它是用JavaScript编写的函数集合,是Selenium IDE和Selenium RC 的引擎;   2)Selenium IDE:是Firefox 的一个插件,能够录制回放用户在 Firefox 中的行为,具有代码转换功能,可以将Selenium语言的测试用例转换为C#、Java、Python、Ruby等语言的测试用例,在 Selenium-RC 中修改复用;   3)Selenium RC:Selenium Remote Control的缩写,是使用具体的语言来编写测试类。它支持多种浏览器,可以使用C#、Java等语言编写测试用例,易于维护,同时提供了很好的扩展性。Selenium RC在 Web 浏览器与需要测试的 Web 应用程序间架设代理服务器(Selenium Server),使得 JavaScript 引擎与被测 Web 应用程序同源,绕开同源策略的限制,进而取得对 Web 页面进行各种操作的权限。   1.2.2 Selenium基本原理   Selenium Server通过网络与Selenium客户端通讯,接受Selenium测试指令。Selenium Core被Selenium Server嵌入到浏览器页面中,就是通过这些JavaScript函数,实现了用程序对浏览器进行控制,执行Selenium客户端脚本中的测试用例,并通过网络将执行结果返回给Selenium客户端,从而实现Web测试的自动化。如下图所示:      图1 Selenium基本原理   1.2.3 Selenium Grid实现并行的web测试   Selenium Grid是Selenium 的一个扩展,提供了一个类似于网络集线器(Hub)的远程测试控制器,能够将测试请求发送到若干个远程机器的Selenium RC上。允许同时并行地、在不同的环境上运行多个测试任务,极大的加快了Web应用的功能测试。如下图所示:      图2 Selenium Grid   1

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档