• locust性能测试使用方法


     1 from locust import HttpLocust, task, TaskSet
     2 import os
     3 
     4 
     5 '''
     6 -f 指定性能测试脚本文件
     7 --host 指定被测试应用的URL的地址
     8 --port 端口设置,默认8089
     9 --no-web 表示不使用Web界面运行测试
    10 -c 设置虚拟用户数
    11 -r 设置每秒启动虚拟用户数
    12 -t 设置运行时间
    13 '''
    14 
    15 
    16 # ----------------使用locust进行性能测试----------------------
    17 
    18 
    19 class UserBehavior(TaskSet):  # 定义一个用户行为, 继承TaskSet类
    20 
    21     @task  # @task装饰该方法为一个事务
    22     def test_czth(self):  # 表示一个用户行为
    23         print('--访问拼多多主页--')
    24         url = '/'
    25         with self.client.post(url, catch_response=True) as response:  # client.get()用于指请求的路径“/”,首页指定根路径
    26             print(response.status_code)
    27             if response.status_code != 200:
    28                 response.failure('Failed!')
    29             else:
    30                 response.success()
    31 
    32     @task
    33     def test_czth_login(self):
    34         print('--访问拼多多商品展示页--')
    35         payload = {'username': 'admin',
    36                    'password': '123456',
    37                    'validcode': '999999'}
    38         url = '/home'
    39 
    40         with self.client.post(url=url, data=payload) as response:
    41             print(response.status_code)
    42             print(response.text)
    43             assert '欢迎您, 系统管理员' in response.text
    44 
    45 
    46 class WebsiteUser(HttpLocust):  # 用于设置性能测试, 继承Httplocust类
    47     task_set = UserBehavior  # 指向一个定义的用户行为类
    48     min_wait = 1000  # 用户等待时间的下界(毫秒)
    49     max_wait = 3000  # 用户等待时间的上界
    50     host = '192.168.106.211:8100'  # 指压测地址
    51 
    52 
    53 if __name__ == '__main__':
    54     # os.system('locust -f locust_xn.py --port=8999')
    55     os.system('locust -f locust_xn.py  --port=8999 --no-web -c 10000 -r 100 -t 1h')
    56     # os.system('locust -f locust_xn.py  --master-bind-port=8999 --expect-slaves=X --slave ')
  • 相关阅读:
    WEB常见漏洞合集
    SQL注入个人理解及思路(包括payload和绕过的一些方式)
    渗透测试流程
    kali 中文乱码解决方法
    python编写的banner获取代码的两种方式
    python编写banner获取的常用模块
    Python安全基础编写
    oracle数据库(四)
    oracle数据库(三)
    oracle数据库(二)
  • 原文地址:https://www.cnblogs.com/wapn/p/10202166.html
Copyright © 2020-2023  润新知