前面关联的例子中,查看任务详情的参数taskid我们是通过关联获取的,这个参数是动态的,每次的值可能都不同,所以在Locust的测试结果中会看到默认以"/zentao/task-view-taskid.json"为Name的多个分组
实际上这些请求都是在测试同一个任务,查看某个taskid的任务详情,应该被分为一组,否则当taskid成百上千时,报告中的请求显示也是成百上千的,看起来非常不方便,查看任务详情的性能指标也不能直观的看出来。
可以通过name参数来实现分组
self.client.get("http://127.0.0.1:8088/zentao/task-view-xxx.json", name="/zentao/task-view-{taskid}.json")
实例代码
# 查看任务详情,用户执行查看任务列表后,执行该任务
@seq_task(2)
@task(1)
def viewTask(self):
taskid = self.locust.taskid_queue.get_nowait() # 从队列中取出taskid
test_url = "/zentao/task-view-"+ str(taskid) +".json"
print("taskid is %s " % str(taskid))
with self.client.get(test_url, name="/zentao/task-view-{taskid}.json", headers=self.webheaders, catch_response=True) as response:
try:
json_res = response.json()
if json_res["status"] == 'success':
# print(json_res)
response.success()
else:
response.failure('User view task failed!')
print(json_res)
except Exception as e:
response.failure(e)
print(e)
测试结果
控制台打印信息,看到taskid是不同的