RobotFramework+Selenium2Library+Httpwatch测试前端性能
引子:
httpwatch是什么?我就不多说了,不知道可以直接百度or谷歌
其实httpwatch还有其他很多强大的功能,我们今天只是用他的一个关于时间的功能
来测试页面加载的时间(包括ajax请求返回时间等)
这个例子也只是个引子,更多强大的功能,还是得靠大家一起挖掘
一.准备工作:
1.安装和调试好RF(相信你肯定ok了)
2.安装和导入好Selenium2Library(你肯定也好了)
3.安装Httpwatch,前往 下载最新的版本,可以下载免费版的就ok,当然,你要是略有小强迫症,一定要安装pro版,那就自己搜索下破解版吧,记得安装8.4以上版本哦(顺便看好其对应的最高支持的ff版本)
4.Httpwatch貌似只支持IE和firefox,so,下面的测试我选用firefox为例,我用的FF18
二.编写Httpwatch的Library
从httpwatch8.4开始,有了AttachByTitle方法,可以与selenium结合
安装完httpwatch,你可以在他的安装目录下找到几个使用例子,不过可能是C#的,不过没有关系,看看思路即可
下面我给出简单的5个步骤
下面我们直接开始写httpwatch的library吧
三.使用/实战测试响应时间
1.导入Selenium2Library和HttpWatch.py,如图
如果你的库没有错的话,应该是黑色的
并且按F5,会看到httpwatch库中的内容
2.使浏览器启动时加载httpwatch的插件
前面说到httpwatch现在只支持IE和FF
Webdriver启动IE是会默认加载httpwatch的,所以不用设置什么
而FF不会,所以打开FF时,要指定一下ff_profile_dir(这个怎么设置,请看我前面一篇文章,这里不再赘述)
3.编写测试case
这个case是测试一下我点击“百度一下”之后,显示结果要多少时间(和网速有关)
4.运行/查看结果
0.911秒,看来我这网速还不错啊
至此,一个简单的测试前端响应/加载时间的自动化脚本完成了!
之后,这些时间被记录下来了,不能只是在这个log中,你可以将数据写入excel(我暂时选择了excel,比较轻便和移动),也可以写入数据库,最后进行分析等等
Httpwatch还有其他众多的功能,比如抓取ajax返回的内容啊等等,都待你自己去发掘了