ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Locust 做多接口测试

2022-08-10 18:01:08  阅读:166  来源: 互联网

标签:res self Locust 接口 phone json 测试 print data


 

 

 

 

 

import requests
from locust import HttpLocust, TaskSet, task, HttpUser


def mock_phone():
    """
    :return:
    """
    res = requests.post(url='http://121.40.32.213:5000/api/v1/mock_data')
    phone = res.json()['data']['mock测试数据']['手机号']
    # pprint.pprint(res.json())
    print('用于测试的手机号', phone)
    return phone


class Run(TaskSet):
    """
    # task装饰该方法为一个事务方法的参数用于指定该行为的执行权重。参数越大,每次被虚拟用户执行概率越高,不设置默认是1
    """
    @task(1)  # 任务项
    def test_login(self):
        payload = {
            'mobile': mock_phone(),
            'captcha': '12345678'
        }
        url = '/addons/miniform/login/mobilelogin'
        res = self.client.post(url, data=payload)
        if res.json()['code'] == 1:
            print('登陆成功')
            print(res.json())
            header = {
                'token': res.json()['data']['token']
            }

            return header
        else:
            print('登陆失败!')

    @task(1)
    # 2查询用户我的-奖章-奖章数量
    def test_jian_zhang(self):
        payload = {}
        url = '/api/v1/my/Medal/mycount'
        print(1111111, self.test_login())       # 用于检测token是否传递过来
        res = self.client.post(url, data=payload, headers=self.test_login())
        if res.json()['code'] == 1:
            print('获取数据成功')
            print(res.json())
        else:
            print('获取数据失败!')


# # 这个类类似设置性能测试,继承HttpLocust
# class websitUser(HttpLocust):
#     # 指向一个上面定义的用户行为类
#     task_set = [Run]
#     host = 'https://sxty.zjzxsl.com/'
#     # 执行事物之间用户等待时间的下界,单位毫秒,相当于lr中的think time
#     min_wait = 1000
#     max_wait = 6000
#
class WebSiteUser(HttpUser):
    tasks = [Run]
    max_wait = 5000
    min_wait = 1000


if __name__ == '__main__':

    import os
    os.system('locust -f demo_06.py --host=********')

 

标签:res,self,Locust,接口,phone,json,测试,print,data
来源: https://www.cnblogs.com/chenxiaomeng/p/16573366.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有