locust+python做性能自动化测试

步骤:

1)安装locustio

pip install locustio

2) 使用locust写脚本

文件名:test_download.py

 1 from locust import HttpLocust,TaskSet,task
 2 
 3 """
 4 创建后台管理站点压测类,需要继承TaskSet
 5 可以添加多个测试任务
 6 """
 7 class AdminLoadTest(TaskSet):
 8 
 9     # 用户执行task前调用
10     def on_start(self):
11         pass
12 
13     # 用户执行task后调用
14     def on_stop(self):
15         pass
16 
17     @task
18     def download(self):
19         # 头部
20         header = {"key":"value"}
21         # 参数
22         data = {"key":"value"}
23         self.client.get('/xxx/xxx',data=data,headers=header)
24 
25 class RunLoadTests(HttpLocust):
26     """
27     创建运行压测类
28     """
29     task_set = AdminLoadTest
30     min_wait = 1000
31     max_wait = 50000
32 
33 
34 if __name__ == "__main__":
35     import os
36     os.system("locust -f test_download.py --host=http://xx.xx.xx.xx:xxxx")
View Code

3) 本地访问:http://localhost:8089/

4) 结果:

  • Type——请求类型
  • Name——接口地址
  • Requests——请求数
  • Fails——失败的请求数
  • Medisn(ms)——中间值,一般的请求响应时间高于此值,一半的请求响应时间低于此值;
  • Average(ms)——平均值,所有请求的平均响应时间
  • Min(ms)——请求的最小响应时间
  • Max(ms)——请求的最大响应时间
  • Average Size(bytes)——请求的平均大小
  • Current RPS:每秒请求个数

 

 下载相关数据:

 

 

no web模式

命令行运行:

 

locust -f 文件名.py --host=http://xx.xx.xx --no-web -c 10 -r 2 -t 1m

  * -c      虚拟用户数

       * -r       每秒启动的虚拟用户数

       * -t        运行时间

posted @ 2019-08-15 20:51  Alieen617  阅读(989)  评论(0编辑  收藏  举报