Locust性能-零基础入门系列(16)-JMeter用户福音

可能之前很多同学对JMeter比较熟悉,反而对Locust接触比较少。大家知道在使用JMeter进行web性能测试时,可以利用其录制的功能,从而减少其工作量。而转移到Locust这款工具时,发现要直接写python脚本去实现要模拟的性能场景。其实Locust也有类似录制的功能,现介绍如下:

比如我们要实现一个功能,打开一篇博客文章。https://blog.51cto.com/13734261/2540530, 那怎么用录制的思维方式去实现呢? 当然了这个例子很简单,可能有同学觉得没必要走录制的情况,直接去实现一个HTTP request就可以了。是的,但是如果需求是模拟打开这篇博客文章的所有的请求,包括相关的图片,JS, CSS请求。那么录制的思维就比较好了,即使只是一个http请求,一个个去实现起来也是比较费事的。

实现步骤主要分为几步:

1> 在浏览器中打开dev tool 去network tab页面去抓取页面请求,然后将显示结果保存为.har文件。抓取到的页面请求细节如下图所示,其中第一为主请求。

Locust性能-零基础入门系列(16)-JMeter用户福音

2> 将 .har 文件转换成locust file格式(.py):

首先大家可以参考python给出了这个转换器模块,在Python环境中可以安装使用,官网地址为: https://pypi.org/project/har-transformer/

2.1> 首先安装相应的python模块,安装命令为:

pip install har-transformer

2.2> 执行转换操作,具体如下,其中"blog.51cto.com.har"是之前保存的.har文件名称。

transformer blog.51cto.com.har > har_locust_file.py

2.3> 转换locust file脚本如下(部分截图),其实发现,其实转换器侦测到requests需要遵循一定的sequence顺序,具体如脚本。
Locust性能-零基础入门系列(16)-JMeter用户福音

3> 运行测试,此时可以按照locust file运行性能测试即可,运行命令可以为:

locust -f har_locust_file.py

运行结果如下:
Locust性能-零基础入门系列(16)-JMeter用户福音

大家可以按照文中步骤练习,如有问题,请留言。

Locust性能-零基础入门系列(16)-JMeter用户福音

猜你喜欢

转载自blog.51cto.com/13734261/2571585