目录

  引言

  UI界面

  启动界面

  测试监控界面

  Charts模块说明

  Failtures模块说明

  Exceptions模块说明

  Download Data

  New Test模块说明

  总结


  引言

  前面已经介绍Locust基本使用与案例分享,脚本已经写好后,我们仅仅只是完成了一小部分的工作,对于监控到的数据展示以及后面的数据准确性分析、问题定位等等,我们并没有讲到。该篇简单分享一下Locust界面上面基本知识与使用。

  UI界面

  这里就不重复讲解脚本中的代码了,如果不懂,建议从头看起。

  脚本如下:

from locust import TaskSet,HttpLocust,between,taskclass TestLogin(TaskSet):def setup(self):print("开始...")def teardown(self):print("结束...")def _login(self):url = '/api/private/v1/login'body = {"username": "admin","password": "123456"}r = self.client.post(url=url, data=body)print("测试")print("响应数据是:%s"%r.text)assert "登录成功" in r.textreturn r.json()['data']['token']def logout(self):print("退出系统")@task(1)def goods_list(self):url = '/api/private/v1/goods'params = {"pagenum":1,"pagesize":10}headers = {'Authorization': self._login()}r = self.client.get(url=url,params=params,headers=headers)print(r.text)print("获取商品列表")@task(1)def user_list(self):url = '/api/private/v1/users'params = {'pagenum':1,'pagesize':1}headers = {'Authorization':self._login()}r = self.client.get(url=url,params=params,headers=headers)print(r.text)print("获取用户列表")def on_start(self):""" on_start is called when a Locust start before any task is scheduled """print("启动")self._login()def on_stop(self):""" on_stop is called when the TaskSet is stopping """print("停止")self.logout()import randomclass WebsiteUser(HttpLocust):task_set = TestLogindef setup(self):print('locust setup')def teardown(self):print('locust teardown')wait_time = between(5,6)wait_function = lambda self: random.expovariate(1) * 1000if __name__ == '__main__':import osos.system('locust -f locustfile_pro.py --host=http://127.0.0.1:8899 --port=8084')

  运行结果:

[2020-06-24 00:58:40,686] WIN10-804191526/INFO/locust.main: Starting web monitor at http://*:8084
[2020-06-24 00:58:40,686] WIN10-804191526/INFO/locust.main: Starting Locust 0.14.6
[2020-06-24 00:58:43,586] WIN10-804191526/INFO/locust.runners: Hatching and swarming 1 users at the rate 1 users/s (0 users already running)...
[2020-06-24 00:58:43,586] WIN10-804191526/ERROR/stderr: d:\python3\lib\site-packages\locust\util\deprecation.py:12: DeprecationWarning: Usage of wait_function is deprecated since version 0.13. Declare a WebsiteUser.wait_time method instead (should return seconds and not milliseconds)"(should return seconds and not milliseconds)" % type(locust_or_taskset).__name__, DeprecationWarning)
[2020-06-24 00:58:43,586] WIN10-804191526/INFO/stdout: locust setup
[2020-06-24 00:58:43,586] WIN10-804191526/INFO/stdout:
[2020-06-24 00:58:43,587] WIN10-804191526/INFO/locust.runners: All locusts hatched: WebsiteUser: 1 (0 already running)
[2020-06-24 00:58:43,587] WIN10-804191526/INFO/stdout: 开始...
[2020-06-24 00:58:43,587] WIN10-804191526/INFO/stdout:
[2020-06-24 00:58:43,587] WIN10-804191526/INFO/stdout: 启动
[2020-06-24 00:58:43,587] WIN10-804191526/INFO/stdout:
[2020-06-24 00:58:43,668] WIN10-804191526/INFO/stdout: 测试
[2020-06-24 00:58:43,668] WIN10-804191526/INFO/stdout:
[2020-06-24 00:58:43,668] WIN10-804191526/INFO/stdout: 响应数据是:{"data":{"id":500,"rid":0,"username":"admin","mobile":"12345678","email":"adsfad@qq.com","token":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjUwMCwicmlkIjowLCJpYXQiOjE1OTI5MzE1MjMsImV4cCI6MTU5MzAxNzkyM30.Jzs3jsLsmCkHozXhZueadEdiilJ1aHBYPHn2t8lARgQ"},"meta":{"msg":"登录成功","status":200}}
[2020-06-24 00:58:43,668] WIN10-804191526/INFO/stdout:
[2020-06-24 00:58:43,743] WIN10-804191526/INFO/stdout: 测试
[2020-06-24 00:58:43,743] WIN10-804191526/INFO/stdout:
[2020-06-24 00:58:43,743] WIN10-804191526/INFO/stdout: 响应数据是:{"data":{"id":500,"rid":0,"username":"admin","mobile":"12345678","email":"adsfad@qq.com","token":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjUwMCwicmlkIjowLCJpYXQiOjE1OTI5MzE1MjMsImV4cCI6MTU5MzAxNzkyM30.Jzs3jsLsmCkHozXhZueadEdiilJ1aHBYPHn2t8lARgQ"},"meta":{"msg":"登录成功","status":200}}
[2020-06-24 00:58:43,743] WIN10-804191526/INFO/stdout:
[2020-06-24 00:58:43,755] WIN10-804191526/INFO/stdout: {"data":{"total":926,"pagenum":"1","goods":[{"goods_id":926,"cat_id":null,"goods_name":"【海外购自营】黎珐(ReFa) MTG日本 CARAT铂金微电流瘦脸瘦身提拉紧致V脸美容仪 【保税仓发货】","goods_price":1399,"goods_number":100,"goods_weight":100,"goods_state":0,"add_time":1514345477,"upd_time":1514345477,"hot_mumber":0,"is_promote":false,"cat_one_id":null,"cat_two_id":null,"cat_three_id":null},{"goods_id":925,"cat_id":null,"goods_name":"卡奇莱德汽车车载空气净化器负离子除甲醛PM2.5除烟异味车用氧吧双涡轮出风(红色)","goods_price":168,"goods_number":100,"goods_weight":100,"goods_state":0,"add_time":1514259452,"upd_time":1514259452,"hot_mumber":0,"is_promote":false,"cat_one_id":null,"cat_two_id":null,"cat_three_id":null},{"goods_id":924,"cat_id":null,"goods_name":"沿途(yantu)车载充电器车充一拖二usb转接口手机智能头多功能汽车点烟器","goods_price":0,"goods_number":100,"goods_weight":100,"goods_state":0,"add_time":1514259448,"upd_time":1514259448,"hot_mumber":0,"is_promote":false,"cat_one_id":null,"cat_two_id":null,"cat_three_id":null},{"goods_id":923,"cat_id":null,"goods_name":"车载冰箱7.5L 冷暖两用汽车冰箱半导体12V迷你电冰箱升级款","goods_price":149,"goods_number":100,"goods_weight":100,"goods_state":0,"add_time":1514259445,"upd_time":1514259445,"hot_mumber":0,"is_promote":false,"cat_one_id":null,"cat_two_id":null,"cat_three_id":null},{"goods_id":922,"cat_id":null,"goods_name":"神行者电子狗 神行者L70电子狗测速 测速雷达 流动测速 多种警示路段提醒","goods_price":98,"goods_number":100,"goods_weight":100,"goods_state":0,"add_time":1514259442,"upd_time":1514259442,"hot_mumber":0,"is_promote":false,"cat_one_id":null,"cat_two_id":null,"cat_three_id":null},{"goods_id":921,"cat_id":null,"goods_name":"360行车记录仪尊享升级版 J501C 安霸A12 高清夜视 WIFI连接 智能管理 机卡套装 黑色(存储卡品牌随机)","goods_price":359,"goods_number":100,"goods_weight":100,"goods_state":0,"add_time":1514259438,"upd_time":1514259438,"hot_mumber":0,"is_promote":false,"cat_one_id":null,"cat_two_id":null,"cat_three_id":null},{"goods_id":920,"cat_id":null,"goods_name":"淘尔杰汽车专用伸缩蜡拖 除尘车掸子擦车拖把 洗车蜡刷清洁工具用品","goods_price":39,"goods_number":100,"goods_weight":100,"goods_state":0,"add_time":1514259435,"upd_time":1514259435,"hot_mumber":0,"is_promote":false,"cat_one_id":null,"cat_two_id":null,"cat_three_id":null},{"goods_id":919,"cat_id":null,"goods_name":"保赐利(botny) 防雾剂汽车用长效雾清车窗挡风玻璃浴室去雾剂除雾剂玻璃清洁剂 B-2113","goods_price":0,"goods_number":100,"goods_weight":100,"goods_state":0,"add_time":1514259432,"upd_time":1514259432,"hot_mumber":0,"is_promote":false,"cat_one_id":null,"cat_two_id":null,"cat_three_id":null},{"goods_id":918,"cat_id":null,"goods_name":"龟牌硬壳蜡新汽车防护划痕去污上光抛光养护漆固体洗车打蜡腊正品","goods_price":49,"goods_number":100,"goods_weight":100,"goods_state":0,"add_time":1514259429,"upd_time":1514259429,"hot_mumber":0,"is_promote":false,"cat_one_id":null,"cat_two_id":null,"cat_three_id":null},{"goods_id":917,"cat_id":null,"goods_name":"点缤汽车车漆划痕修复补漆笔漆面修复油漆修补套装珠光珍珠白色点漆笔--单支补漆笔","goods_price":14,"goods_number":100,"goods_weight":100,"goods_state":0,"add_time":1514259426,"upd_time":1514259426,"hot_mumber":0,"is_promote":false,"cat_one_id":null,"cat_two_id":null,"cat_three_id":null}]},"meta":{"msg":"获取成功","status":200}}
[2020-06-24 00:58:43,755] WIN10-804191526/INFO/stdout:
[2020-06-24 00:58:43,755] WIN10-804191526/INFO/stdout: 获取商品列表
[2020-06-24 00:58:43,755] WIN10-804191526/INFO/stdout:
[2020-06-24 00:58:49,428] WIN10-804191526/INFO/stdout: 测试
[2020-06-24 00:58:49,428] WIN10-804191526/INFO/stdout:
[2020-06-24 00:58:49,428] WIN10-804191526/INFO/stdout: 响应数据是:{"data":{"id":500,"rid":0,"username":"admin","mobile":"12345678","email":"adsfad@qq.com","token":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjUwMCwicmlkIjowLCJpYXQiOjE1OTI5MzE1MjksImV4cCI6MTU5MzAxNzkyOX0.5CPSH2efZE34jSQOrZxL7mp0nQ1jhWQAjMFGev1FNlU"},"meta":{"msg":"登录成功","status":200}}
[2020-06-24 00:58:49,428] WIN10-804191526/INFO/stdout:

  启动界面

  名词解析:

  Number of users to simulate:设置模拟的用户总数

  Hatch rate (users spawned/second):每秒启动的虚拟用户数

  Start swarming:执行locust脚本

  测试监控界面

  Statistics类似Jmeter中的聚合报告

  名词解析:

  Type:请求类型,即接口的请求方法;
  Name:请求名称;
  requests:当前已完成的请求数量;
  fails:当前失败的数量;
  Median:响应时间的中间值,即50%的响应时间在这个数值范围内,单位为毫秒;
  90%ile:根据正态分布,90%的响应时间在正态分布平均值下方,即小于这个值;
  Average:平均响应时间,单位为毫秒;
  Min:最小响应时间,单位为毫秒;
  Max:最大响应时间,单位为毫秒;
  average Size:平均每个请求的数据量,单位为字节;
  current RPS(requests per second):每秒钟处理请求的数量,即RPS。(以前叫reqs/sec:每秒钟处理请求的数量,即QPS;),所以这两个可以看成一个。

  Charts模块说明

  测试结果变化趋势的曲线展示图,分别为每秒完成的请求数(RPS)、响应时间、不同时间的虚拟用户数。

  RPS:

  响应时间:

  不同时间的用户数:

  注意:这些图表没有持久性,如果刷新此页面,将创建新的图表。

  Failtures模块说明

  失败请求的展示界面。即服务器原因导致无法处理请求。

  Exceptions模块说明

  常请求的展示界面

  Download Data

  测试数据下载模块, 提供三种类型的CSV格式的下载,分别是:Statistics CSV、responsetime CSV、failures CSV、exceptions CSV。

  Statistics CSV
  statistics csv的数据信息和前面Statistics的是一致的。

  responsetime CSV

  responsetime CSV和Statistics介绍的90%ile类似,更精确地显示响应时间在各区间分布情况。

  New Test模块说明

  点击该按钮可对模拟的总虚拟用户数和每秒启动的虚拟用户数进行编辑。

  Number of users to simulate:模拟的总虚拟用户数
  Hatch rate (users spawned/second):每秒启动的虚拟用户数
  HOST:测试的地址

  总结

  以上即为locust的介绍和简单使用以及说明,更多详细的内容请参考官方文档。。。有兴趣的朋友可以加入测开交流群进行沟通与学习,一起成长! 

Locust学习笔记4——UI界面介绍相关推荐

  1. 安卓学习笔记3——登录界面UI

    安卓学习笔记3--登录界面UI 一.登录界面UI 1.根据需求写UI 2.主活动 3.主活动调用的读写文件的工具类 4.效果展示 二.总结与改进 不足: 1.密码分割采用字符串:当密码和用户名包含该字 ...

  2. HTML/CSS学习笔记01【概念介绍、基本标签】

    w3cschool菜鸟教程.CHM(腾讯微云):https://share.weiyun.com/c1FaX6ZD HTML/CSS学习笔记01[概念介绍.基本标签.表单标签][day01] HTML ...

  3. C语言学习笔记---001C语言的介绍,编译过程原理,工具等

    C语言学习笔记---001C语言的介绍,编译过程原理,工具等 创梦技术交流平台:资源下载,技术交流,网络赚钱: 交流qq群:1群:248318056 2群:251572072 技术交流平台:cre.i ...

  4. Android学习——5个UI界面设计

    Android学习--5个UI界面设计 一.计算器 二.frameLayout(框架布局)实现登录界面 三.RelativeLayout相对布局实现登录界面 四.表格布局 五.多布局 一.计算器 &l ...

  5. ESP32学习笔记(一) 芯片型号介绍

    ESP32学习笔记(一) 芯片型号介绍 目录: ESP32学习笔记(一) 芯片型号介绍 ESP32学习笔记(二) 开发环境搭建 VSCode+platformio ESP32学习笔记(三) 硬件资源介 ...

  6. STM32 HAL库学习笔记2 HAL库介绍

    STM32 HAL库学习笔记2 HAL库介绍 CMSIS标准 一.再次认识HAL库 HAL库设计思想 HAL库实现方式 以GPIO模块为例 GPIO外设数据类型 GPIO外设接口函数 二.使用HAL库 ...

  7. Unity UI Toolkit学习笔记-Runtime UI 案例实践

    Unity UI Toolkit学习笔记-Runtime UI

  8. 阿里大神最佳总结Flutter进阶学习笔记,技术详细介绍

    开头 很多人工作了十年,但只是用一年的工作经验做了十年而已. 高级工程师一直是市场所需要的,然而很多初级工程师在进阶高级工程师的过程中一直是一个瓶颈. 移动研发在最近两年可以说越来越趋于稳定,因为越来 ...

  9. Cocos Studio学习笔记第一篇--界面

    大前天也就是周二被人问道:"对Cocos Studio2.0以后版本用法的了解."当时我一时之间没法回答,因为Cocos Studio1.6我以前用过很长时间,2.0改版以后我知道 ...

最新文章

  1. matlab显示像素分布,MATLAb-----7--------如何动态显示鼠标的坐标值和图像像素值
  2. Android NDK开发一:配置环境
  3. c++ STL:队列queue、优先队列priority queue 的使用
  4. python中texttable库显示实时数据_python显示数据库数据
  5. springboot异常处理方式
  6. NLP --- 文本分类(基于概率的隐语意分析(PLSA)详解)
  7. ESXI NUMA node 1 has no memory..
  8. 编程程序 runtime error
  9. 百度搜索结果的URL参数 搜索历史记录(rsv_sug)
  10. 【奥黛丽赫本】女神一样的优雅
  11. mysql nb3 备份_通过Navicat进行Mysql数据库自动备份与还原
  12. 时间、延迟以及延缓操作
  13. 计算机组成原理复习提纲六(CPU结构和功能)
  14. 大一新生必会的c语言五子棋!PVP,PVE,EVE模式都有,还有智能的AI部分,复盘等内容!一看就会的五子棋教程,确定不来看看吗?
  15. 【CSS】记踩坑-图片3D旋转设置景深perspective
  16. Nginx 的安装配置
  17. 好尚不可为,其况恶乎(转)
  18. Kubernetes学习(1)-----搭建kubernetes环境
  19. 城市选择控件文本框【纯javascript打造】兼容IE6以及以上、谷歌、Firefox
  20. C/C++ 求解一元二次方程

热门文章

  1. python隐藏类的属性 重写__dir___python实例属性的显示方法-dir、__dict__
  2. 使用PyTorch实现对花朵的分类
  3. 字节码插桩之Java Agent
  4. springMVC传参
  5. java工具类-判断一个对象中属性是否为null 或空字符串
  6. 承载网、核心网、接入网测试及维护——TFN TT60 综合网络测试仪
  7. string未定义标识符
  8. 使用python绘制一朵郁金香
  9. Windows照片查看器无法显示此图片,因为计算机上的可用内存可能不足。Win7图片打不开 提示内存不足
  10. Linux-文件种类与扩展名