基于selenium+testNG的测试框架

  • 为什么要做测试
  • 什么是web自动化测试
  • 用什么工具做web自动化测试

这里就不展开了。

后面直接上了一张模块图,并对每个模块进行了详细的说明。

Object Repository

对象库。好吧,你说你没有对象...

selenium支持多种定位业务元素的方式,不过如果页面频繁变化的话,用selenium原生的地方方式就会带来一个维护成本偏高的问题。

于是有人就提出了对象库的概念,把所有的元素定位都集中在一个地方管理,我最早是在08年左右在一个叫做QPT的自动化测试工具中了解到这个概念的,如今12年过去了,这种方式依然行之有效。

Input file

在web系统中,用户经常需要输入一些信息,比如登录时候的用户名和密码。这些输入就可以放在input file里维护,这样每次输入相同内容的时候就可以直接从文件里读取了。不过要注意的是,这里仅维护一些必填项,一些可选项我们可以用随机值的方式去代替。

Utility Section

工具库,可以分成下面几种。

  • User Actions File:selenium提供了一些基本的元素操作方式,比如点击,但是另外一些操作,比如选择select box等的复杂操作其实并没有提供(原文大概是这个意思,不过selenium后面的版本确实提供了多种多样的操作行为工具,比如action chains以及select的操作等,可能当年文章写作时selenium是缺乏该能力的),可以将这些操作封装起来,后面调用的时候就可以多次复用了。
  • Utility file: 这个文件封装了一些常用功能,比如登录登出。
  • Screenshot Generation:实现了用例错误时自动截图的功能。

具体截图过程如下

  • 创建文件夹
  • 从testNG拿执行结果
  • 判断执行结果
  • 如果执行失败则自动截图
  • 截图用执行时间来命名
  • 保存截图

Test suite

testNG提供。

Customization of test report

自定义测试报告。基本上就是用的testNG提供的html report。

Email customized report to respective person

发邮件通知相关人员。使用 Mail.jar来实现。

结果对比

文中最后给出了该框架prowork Framework对比传统方式的优势,基本上是全面碾压。

总结

可以看出框架整体的结构是非常简单的,核心思想就是尽量复用TestNG的功能,然后封装一些工具函数,增加框架的可维护性。

如果大家遇到一些技术瓶颈或是想了解最新的一些测试思潮,偶然读一些论文还是很有帮助的。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取 【100%免费无套路】 

å¨è¿éæå¥å¾çæè¿°

 全套资料获取方式:点击下方小卡片自行领取即可

你可能感兴趣的:(selenium,测试工具,软件测试,程序员,接口测试,自动化测试,测试工程师)