Как я могу получить список тестов или заданий от саранчи?

У меня есть locustfile с набором тестовых примеров (@task). Есть ли какой-либо вариант интерфейса командной строки, чтобы я мог проанализировать файл саранчи и получить из него тестовые примеры или теги? Рассмотрим приведенный ниже пример кода из https://github.com/locustio/locust/blob/master/examples/basic.py Здесь есть единственный тестовый пример page404 (), определяемый @task.

from locust import HttpUser, TaskSet, task, between


def index(l):
    l.client.get("/")


def stats(l):
    l.client.get("/stats/requests")


class UserTasks(TaskSet):
    # one can specify tasks like this
    tasks = [index, stats]

    # but it might be convenient to use the @task decorator
    @task
    def page404(self):
        self.client.get("/does_not_exist")


class WebsiteUser(HttpUser):
    """
    User class that does requests to the locust web server running on localhost
    """

    host = "http://127.0.0.1:8089"
    wait_time = between(2, 5)
    tasks = [UserTasks]

person Manik Sidana    schedule 15.12.2020    source источник


Ответы (2)


Вы можете перечислить классы пользователей, используя locust -l, но нет встроенного способа для перечисления отдельных задач.

person Cyberwiz    schedule 17.12.2020

Я использую что-то вроде этого для управления весами задач, не знаю, может ли это помочь:

class MyTaskSet(TaskSet):

    def on_start(self):
        unique_tasks = set(self.tasks)

Параметр задач в TaskSet - это список взвешенных задач, например, если у меня есть 2 задачи, одна весом 2, а другая 3, это будет

[a,a,b,b,b]

поэтому я конвертирую его в набор для поиска уникальных задач

person Muhammed Tanır    schedule 15.12.2020