在介绍Pyswat框架前,我们先来看看目前行业中有关
Web前端
自动化测试的一些成熟方案都有哪些!个人来看无外乎两种形式,第一种:录制操作生成自动化回放代码(比较有代表的
QTP,selenium IDE基于火狐插件);第二种:提供封装好的方法,手写代码执行页面操作(如selenium,ruby的watir等)。录制的方式入手容易,但不够灵活,而通过手写程序的方式够灵活,上手却比较难。并且网上也有很多团队或个人开发的Web自动化测试工具,有些是对原有工具的二次封装,只是看起来语法简单了,实际问题并没很好的解决。而通过工具录制的方式生成的同样是晦涩难看的东西。测试人员赖以生存的是什么,是测试案例啊!所以说自动化测试成本高,维护难,投入产出不划算,是什么原因造成的,归根还是没有一个很好的解决方案。
那么怎么在现有的方案的基础上规划一个好的框架,一方面入手简单,另一方面定制灵活,维护不耗时,投入产出达到基本的平衡呢?这就是我们今天看到的pyswat做的事情。
首先,来看测试工程师在做测试时离不开的
测试用例,它是测试依据,当然你要做自动化测试同样需要有这样的一份文档,通过这份用例集告诉程序该执行什么,如果你使用的自动化测试方案需要写代码去转化原有的用例文档,那么将是一个浩大的工程,需要懂代码的测试工程师一行一行的敲代码,敲几行还要运行环境调式一下,看看程序能不能跑通,遇到跑不通的地方或者报错的地方还需要花时间去找原因,这样的过程非常耗时。这也是大家认为自动化成本高的一个原因,遇到项目改版或是微调继续上面的步骤吧,等你的程序调通了项目也该上线了吧?
接下来我们看看pyswat框架是如何实现web端自动化测试的。
第一步-"录制"案例
Pyswat的使用前需要配置一个环境运行文件"Enviroment.ini",比如我们现在需要开始录制我们的项目,在环境配置中找到"record"的"url"选项设置为我们访问的链接地址即可,如下图
配置完成后,就可以开始录制我们的操作了。运行框架程序"webs_record"将会自动打开
浏览器访问链接地址,录制结束后生成一个临时的excel表格的案例文件"temp_case.xls",我们打开来看看里边的内容。
这是录制一个登录的操作,step1和step2是后面手动增加的步骤,目的是测试登录页面的性能,可以先忽略。Step3开始到step5,分别录制到了输入登录的
手机号,输入密码以及点击登录按键三个步骤。最后一步stepOver是终止符,得到这样的excel案例后,我们就可以直接通过"webs_replay"运行回放了,不过不要忘记先配置一下回放的案例路径和case名称以及回放url链接,这些同样是在"Enviroment.ini"配置文件中的replay项里做配置。回放过程中程序会
记录运行的日志,详细到每一个step。如下图
这里可以看到日志回放时间,对应的step。上面提到
性能测试是在1,2两个step完成的,大家可以很清楚的看到测试性能的结果,有总的页面加载时间,和分步骤的时间耗时。案例执行结束后同样会生成一个柱状图,展示整个案例运行的结果。