har是什么?
har是一个json格式文件,通常可以通过浏览器的开发者工具导出,抓包工具(如charles)导出。
通常大家做接口测试的时候,有用httprunner,jmeter,locust,等,jmeter两大功能,接口测试,压力测试,httprunner主要用来做接口测试,locust则号称是压力测试的神器,各有所长,今天不做讨论
locust是我们这次的主角之一,常用来做压力测试。
主要记录下har如何快速转化成locustfile的。
har的获取
har文件的获取方式有很多,作为测试主要用到的方法有两种
1.浏览器导出
浏览器导出:以firefox为例,F12打开开发者 工具,将tab切换到网络,访问目标地址,然后选择要导出的链接,导出har。
2.抓包工具导出
以charles为例:选择抓到的包所在域名,右键,expression,下拉导出文件格式为har,选择保存路径,即可获取。
插件安装:
pip install har-transformer
locust安装:因为官网说Transformer这个插件不支持1.0以上版本,就参考其他攻略安装了0.14.6版本
pip install locustio==0.14.6
主要用到的命令也比较简单
transformer harfilepath >locustfile.py
harfilepath可以是一个路径:harfiledir/ ,也可以是具体的文件名称harfilename.har
生成的locustfile文件后,可以简单执行locust命令来运行locustfile
locust -H http://localhost:8080 -f locustfile.py
大家执行transformer 的时候,可以设置每个har的权重,如果没有设置,在执行结果中会提示没有weight,当然,如果只有一个har文件或者不需要设置权重,就可以忽略。