您好,欢迎访问代理记账网站
  • 价格透明
  • 信息保密
  • 进度掌控
  • 售后无忧

httprunner_locust_场景1:登录1次,添加10次地图

场景1:任务执行 > login执行1次,addtitle执行10次

from locust import HttpUser, task, SequentialTaskSet, between
import json

# 场景1:任务执行 > login执行1次,addtitle执行10次
class FlashTask(SequentialTaskSet):  # 该类定义了用户执行的任务的顺序。
    token = None # 设置全局变量,login执行完成后,返回值给这里,供addtitle使用
    @task(1) # 先执行登录,执行1次
    def login(self):
        data = {"username": "developer", "password": "developer"}
        # 打开文件、写入数据、关闭文件,一般用语法with as >>> 节约资源,处理完请求后悔自动关闭。
        with self.client.request(method='post', url='/prod-api/account/login', data=data) as response:
            res = self.login()
            d = json.loads(res.text)  # 将返回值转换为字典
            token = d.get("data").get("token")
            self.token = token # 实例化login的token,为上面的token,调用self.token就是token值

    @task(50) # 然后执行addtitle,执行50次
    def addtitle(self):
        data = {'xx': 'xxx'}
        headers = {'x-token': self.token,
                   'content-type': 'application/json;charset=UTF-8'}  # 一般需要加表单类型,不然会报错
        with self.client.request(method='post', url='/prod-api/arctile', json=data, headers=headers) as response:
            print(response.text)


class FlashUser(HttpUser):
    host = "http://flash-admin.enilv.cn" # 设置要测的ip地址
    wait_time = between(1, 3) # 设置等待时间,1到3秒之内
    tasks = [FlashTask] # 要执行的任务是任务的类FlashTask,会有序执行该类下面的任务。

执行该任务:
(venv) D:\huicelocust>locust -f locustfile.py


分享:

低价透明

统一报价,无隐形消费

金牌服务

一对一专属顾问7*24小时金牌服务

信息保密

个人信息安全有保障

售后无忧

服务出问题客服经理全程跟进