python学习笔记(locust性能测试模块)
2017-10-19 14:28
573 查看
locust是基于python的性能测试工具、支持python2.7及其以上的版本、相对于主流的LR与Jmeter工具使用的方式不一样、locust是通过编写python代码来完成性能测试的。
通过LR与Jmeter都是一个特定平台、我们只能在这个平台上使用、局限性很大。但是利用locust通过python可以进行性能测试的同时,也能掌握python语言的使用,且因为是开发语言,测试过程中可以编写自己需要的功能内容。
博主这里就简单的整理下如何使用locust模块,主要的三个类: HttpLocust, TaskSet, task
TaskSet是任务类、定义待测试的任务代码集如下的UserBehavior的类,task是子任务方法
最后HttpLocust类是用来设置性能测试的配置、如待测试的host、待测试的任务集task_set
如何运行:首先打开到文件路径下、然后直接运行脚本 python main_pt.py
![](https://images2017.cnblogs.com/blog/924044/201710/924044-20171019141831740-1349585615.png)
运行成功后即可访问 locust的 web UI界面 :http://localhost:8089
![](https://images2017.cnblogs.com/blog/924044/201710/924044-20171019142135256-1645136213.png)
提示输入的内容是 模拟的用户总数 和 每秒钟并发的用户数量、点击开始按钮即可
![](https://images2017.cnblogs.com/blog/924044/201710/924044-20171019142434771-958585571.png)
可以查看测试任务的性能结果 上图圈出的 RPS是 每秒用户数、FAILUSERS是 失败率
可以 STOP 中止测试 也可以 Edit 重新编辑性能测试的场景、还可以查看后台的打印内容:
通过LR与Jmeter都是一个特定平台、我们只能在这个平台上使用、局限性很大。但是利用locust通过python可以进行性能测试的同时,也能掌握python语言的使用,且因为是开发语言,测试过程中可以编写自己需要的功能内容。
博主这里就简单的整理下如何使用locust模块,主要的三个类: HttpLocust, TaskSet, task
TaskSet是任务类、定义待测试的任务代码集如下的UserBehavior的类,task是子任务方法
# -*- coding: utf_8 -*- # 文件名称:main_pt.py # locust基础性能测试模板 # 时间:2017-10-19 from locust import HttpLocust, TaskSet, task import subprocess import json # 性能测试任务类 TaskSet. class UserBehavior(TaskSet): # 开始 def on_start(self): pass # 任务 @task(1) def getTagVals(self): u""" request_url:请求路径 request_params:请求头参数 request_json:请求json参数 """ request_url = "/xxx/tag/getTagVals" (待测试的路径) request_params = { "nonce": "abcdefg", "_type": None, "target": "CLNJ01", "timestamp": 1507860000, "apiId": "EC", "apiSign": "D41D8CD98F00B204E9800998ECF8427E" } request_json = { "tagKey": 25 } response = self.client.post( url=request_url, params=request_params, json=request_json ) if response.status_code != 200: print u"返回异常" print u"请求返回状态码:", response.status_code elif response.status_code == 200: print u"返回正常" # 这里可以编写自己需要校验的返回内容 # content = json.loads(response.content)["content"] # if content["tagKey"] == 25: # print u"校验成功" # print json.dumps(content, encoding="UTF-8", ensure_ascii=False) # 性能测试配置 class MobileUserLocust(HttpLocust): u""" min_wait :用户执行任务之间等待时间的下界,单位:毫秒。 max_wait :用户执行任务之间等待时间的上界,单位:毫秒。 """ # weight = 3 task_set = UserBehavior host = "http://xxx" (待测试的ip或者域名) min_wait = 3000 max_wait = 6000 if __name__ == "__main__": subprocess.Popen("locust -f main_pt.py", shell=True)
最后HttpLocust类是用来设置性能测试的配置、如待测试的host、待测试的任务集task_set
如何运行:首先打开到文件路径下、然后直接运行脚本 python main_pt.py
![](https://images2017.cnblogs.com/blog/924044/201710/924044-20171019141831740-1349585615.png)
运行成功后即可访问 locust的 web UI界面 :http://localhost:8089
![](https://images2017.cnblogs.com/blog/924044/201710/924044-20171019142135256-1645136213.png)
提示输入的内容是 模拟的用户总数 和 每秒钟并发的用户数量、点击开始按钮即可
![](https://images2017.cnblogs.com/blog/924044/201710/924044-20171019142434771-958585571.png)
可以查看测试任务的性能结果 上图圈出的 RPS是 每秒用户数、FAILUSERS是 失败率
可以 STOP 中止测试 也可以 Edit 重新编辑性能测试的场景、还可以查看后台的打印内容:
![](https://images2017.cnblogs.com/blog/924044/201710/924044-20171019142719459-1113108075.png)
相关文章推荐
- python模块学习之locust性能测试
- python模块学习之locust性能测试
- python自动化运维学习笔记1- psutil系统性能信息模块
- Python测试模块学习笔记
- Python学习笔记-系统性能信息模块psutil
- Python学习笔记-系统性能信息模块psutil
- python_模块与函数学习笔记
- python学习笔记——模块和命名空间
- .NET深入学习笔记(1):DataSet和SqlDataReader性能差异深入剖析与测试(1)
- python email模块学习笔记
- LR学习笔记之—事务(性能测试进阶指南LR11)
- Python学习笔记总结(二):函数和模块
- 学习python笔记——模块
- python简明教程学习笔记3--模块
- python学习笔记7-模块整理
- .NET深入学习笔记(1):DataSet和SqlDataReader性能差异深入剖析与测试(2)
- Python学习笔记 OS模块
- Python学习笔记4-pexpect模块,pxssh
- 微软企业库4.1学习笔记(二十)缓存模块8 性能计数器
- 微软企业库4.1学习笔记(二十)缓存模块8 性能计数器