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

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

基于Watir框架Web自动化测试   摘 要:在迭代开发模式中需要执行大量的回归测试,为了提高测试效率和减轻手工测试的压力,提出了一种Web自动化的回归测试框架。通过对现有测试自动化工具的对比研究,文章选择Watir作为基本自动化框架,并对其进行封装修改生成一套新的Web自动化测试框架SAFIR。实际使用SAFIR进行回归测试,和手工测试相比效率提高了70%,大幅减少了回归测试上的人工投入。   关键词:回归测试;Web测试;自动化测试框架;Watir   引言   文章从Web自动化测试的种类,主流的测试工具和框架,以及Watir在网页自动化测试方面的优势,基于Watir的自动化测试框架并结合产品本身特点,分析将Watir框架进行二次开发和封装的可行性,最后得出结论,将基于Watir的自动化测试系统投入到回归测试中去。   1 Web自动化技术   1.1 自动化测试简介   Web自动化测试是使用软件工具通过编写脚本的方式, 对Web应用的界面主要元素进行一系列模拟手动的操作。   目前,市场上有很多Web自动化测试工具,QTP、Test Manager以及Watir都是不错的选择。QTP比较简单易学,但QTP执行速度较慢而且经济成本较高。Test Manager是微软Visual Studio的一个测试组件,使用的用户面狭窄且资源有限。Watir支持IE、FireFox和Chrome等主流浏览器,而且是个开源自动化工具。经过对比最终选择Watir作为自动化框架。   1.2 Watir简介   Watir是一种基于网页模式的自动化功能测试框架,用Ruby语言在Selenium-Webdriver的基础上进行二次封装,从而使得其API能够更好的符合Ruby语言的规范。而Ruby语言本身作为一种面向对象的脚本语言,运行效率高,语法简洁,可阅读性强,作为测试用例的脚本语言非常适合。   Watir通过DOM技术来获取Web页面的元素。作为一个的开源自动化测试框架,已经有很多公司例如HP、Facebook、阿里巴巴等都在使用它对Web应用进行功能测试和回归测试。   1.3 Watir框架存在的不足   虽然Watir已满足基本的自动化测试需求,但是它还在存在一些不足,譬如对外部文件数据的读取、测试日志的建立与导出、访问数据库等功能,这些Watir都还没有实现。而实现这些功能可以更加提高自动化测试的效率。因此,在使用Watir的基础上,对它进行二次开发,实现上述功能,完善watir自动化测试框架成为了课题。   2 Watir自动化测试设计与实现   2.1 产品背景以及SAFIR框架简介   Service Manager 是一款服务解决方案,IT部门能够通过这套系统对企业的部门和个人日常IT事务进行统一管理。由于这个系统基于B/S架构,所以测试时都是在网页浏览器上完成。公司为了提高回归测试效率,结合产品本身的特点,针对Watir框架中存在的不足,对常用页面元素进行封装,添加了文件读取、日志记录、访问数据库功能,开发出一套新的Web自动化测试框架-SAFIR(SM Automation Framework in Ruby)。   2.2 SAFIR框架的设计和实现   作为一套自动化网页测试工具,SAFIR支持获取网页的页面元素的功能,在获取页面元素之后对元素进行点击、输入,选中,复制和粘贴等操作。在测试数据处理方面,SAFIR能灵活导入导出文件,并且读取常用的数据文件类型比如csv、txt和xml。从准备数据,到执行测试步骤,验证预期与实际结果都会有日志记录下来,如果出现失败场景脚本会立即终止失败用例,并对失败的场景进行截图保存到日志文件夹,以便测试工程师分析失败原因。   在回归测试过程中,为了提高自动化代码的复用性,面向对象的思路设计测试框架是必须的,在框架底层我们定义了一个WebObject基类,他主要作用是实例化网页对象、定义log日志函数、定义失败场景的截图函数,Assert()结果验证函数。WebFrame类继承WebObject基类,初始化主要页面的页面区域,如导航面板、列表、详细信息、工具栏等区域,对他们进行封装。再根据每个区域内元素的特点定义所需要的方法和属性。在这两个底层类之上是一个公共函数库Common.rb,有许多使用频率极高的动作函数被定义在这个公共类库里,比如数据导入、导出、清空、用户登入登出和增删改查等等。在写测试脚本时,我们只需调用这几个区域中对象或者调用公共函数库的函数,即能达到代发复用性的目的。   2.3 测试用例层的设计   实现框架以后,利用框架提供的方法和属性,编写测试脚本。在SAFIR框架之中,测试脚本的执行是一个线性的过程。一个用例

文档评论(0)

erterye + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档