zoukankan      html  css  js  c++  java
  • 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        运行时间

  • 相关阅读:
    spring boot 2.1学习笔记【五】SpringBootTest单元测试及日志
    Java网络编程-UDP
    Java网络编程-TCP
    String的特性
    内存池的使用
    软件定时器的使用
    邮箱
    事件集
    线程优先级翻转
    临界区,互斥量与信号量
  • 原文地址:https://www.cnblogs.com/hd-test/p/11360485.html
Copyright © 2011-2022 走看看