利用Jenkins+Phantomas进行前端性能自动化测试

前面我们介绍了怎么安装配置ShowSlow和HARViewer,以及Phantomas的使用简介,那怎么将这些工具串起来搭建一个前端自动化测试平台呢?且听我慢慢道来……

这里假设大家都已经正确安装了phantomjs、phantomas、slimerjs、showslow、harviewer和yslow(yslow.js下载地址:http://yslow.org/phantomjs/),这些都是需要用到的工具。

通过yslow进行页面分析并上报到showslow平台进行数据收集。

#phantomjs yslow.js http://www.liveapp.cn/ --info grade -b http://192.168.1.11:8088/beacon/yslow/ 

这样就可以将yslow评估的报告上报到showslow平台了。
jp1

利用phantomas生成har文件

#phantomas http://www.liveapp.cn/ --engine gecko --har live.har

这里我们指定了引擎为gecko,默认引擎为webkit,之所以指定引擎,是因为在测试中发现,gecko获取的信息比使用webkit要多很多,接近于浏览器调试模式下获取的结果,更接近于真实情况。但是也有个问题,gecko引擎不是很稳定,在Linux下会出现异常,但是不影响har文件的生成。
复制生成的har文件中的内容到HARViewer中可以直接查看结果。
jp2

至此,我们需要的数据已经可以通过手工生成,后续就是配置数据自动上报了。
yslow的数据通过上面的命令已经可以自动上报,那其实只剩下怎么上报har的问题了。
我们需要先打开showslow中上报har的接口开关。
编辑配置文件

#vim config.php

jp3
如上图所示,去掉第41和44行前面的注释即可。
开启后,可到http://192.168.1.11:8088/beacon/har/这里查看详细的配置说明。
jp4
我们通过文件上传的方式将har数据上报给showslow,使用python模拟文件上传即可完成。
在解决完数据上报的问题后,将这些脚本归集起来,在Jenkins中配置好,就可以完成自动化的测试了。

为了更加的灵活,我们需要可以在页面中配置需要监控测试的页面,而不是这样写死在脚本中,我们需要开启showslow的添加域名功能。
编辑配置文件

#vim global.php

jp5
如上图,将154行改成

$enableMyURLs = true;

这样,我们就可以通过如下图所示添加链接了,添加链接前,需要注册登录showslow。
jp6
在实际工作中,我们在测试时还需要模拟是PC端还是手机端,被测试的页面是否需要登录等等问题,这些在测试时都可以通过带相应的参数来配置,具体参数说明,请参考相应工具的帮助信息。

将脚本配置到Jenkins中,设置好定时执行时间,即可在指定的时间自动执行测试。
jp7

“利用Jenkins+Phantomas进行前端性能自动化测试”的一个回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注