06-Locust-设置集合点

目录

前言

代码示例


前言

  • 一定数量的用户,同时并发请求某个接口,这时就会用到集合点,下面一起来学习下locust设置集合点

代码示例

# -*- coding: utf-8 -*-
# @Time    : 2021/4/19
# @Author  : 大海import os
from locust import TaskSet, task, events, HttpUser
from gevent._semaphore import BoundedSemaphoreall_locusts_spawned = BoundedSemaphore()
all_locusts_spawned.acquire()def on_hatch_complete(**kwargs):# 创建钩子方法all_locusts_spawned.release()# 挂在到locust钩子函数(所有的Locust示例产生完成时触发)
# events.hatch_complete += on_hatch_complete  # 1.0之前的写法
events.spawning_complete.add_listener(on_hatch_complete)  # 1.0之后的写法class TestTask(TaskSet):def on_start(self):"""所有任务启动前执行"""all_locusts_spawned.wait()print('所有任务启动前执行')@task(1)def index(self):all_locusts_spawned.wait()url = 'https://www.baidu.com'self.client.get(url)print('index task')@task(1)def login(self):all_locusts_spawned.wait()self.client.get("http://www.baidu.com")print('login task')# class MyUser(HttpLocust): 这是1.0之前写法
class MyUser(HttpUser):# task_set = TestTask 这是1.0之前写法tasks = [TestTask]host = "http://www.baidu.com"min_wait = 1000max_wait = 3000if __name__ == '__main__':file_path = os.path.abspath(__file__)os.system(f'locust -f {file_path} --web-host=127.0.0.1')

 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部