zoukankan      html  css  js  c++  java
  • python+locust+get/post接口性能测试

    #!/usr/local/bin/python3.7
    
    from locust import HttpLocust,TaskSet,task
    import gevent
    # 猴子补丁
    gevent.monkey.patch_all()
    import os
    import subprocess
    import json
    
    """
    @author:mozili
    @file:functiontest.py
    @time:2020/03/27
    """
    
    
    class UserBehavior(TaskSet):
        # 定义用户最先开始做的事情
        def on_start(self):
            pass
        
        def fun(self,response):
            if response.status_code != 200:
                print('返回异常')
                print("请求返回状态码:",response.status_code)
            elif response.status_code == 200:
                print('返回正常')
        @task(1)
        def download(self): 
            url = '/download?size=51457280'
            r = self.client.get(url=url)
            self.fun(r)
            
        @task(2)
        def upload(self):
            url = '/upload'
            params = {'size':30000000}
            r = self.client.post(url=url,params=params)
            self.fun(r)
        @task(3)
        def hello(self):
            url = '/hello'
            params = {'size':3000000}
            r = self.client.post(url=url,params=params)
            self.fun(r)
    class WebsiteUser(HttpLocust):
        task_set = UserBehavior
        min_wait = 3000
        max_wait = 6000
    
    if __name__ == '__main__':
        os.system('locust -f FunctionTest/functiontest.py --host=http://10.0.0.xxx:xxx')
        # 在命令行打开
        # subprocess.Popen('locust -f FunctionTest/functiontest.py',shell=True)






  • 相关阅读:
    P20 HTTP 方法的安全性与幂等性
    P19 查询参数
    P18 写代码:过滤和搜索
    P17 过滤和搜索
    P16 HTTP HEAD
    golang的json操作[转]
    Android中的Service 与 Thread 的区别[转]
    iOS的block内存管理
    Go并发编程基础(译)
    golang闭包里的坑
  • 原文地址:https://www.cnblogs.com/lxmtx/p/12580031.html
Copyright © 2011-2022 走看看