Создайте несколько задач в Locust

Я хочу запустить несколько нагрузочных тестов из Locust, например. тестирование фронтенда и бэкэнда. Мне было интересно, могу ли я сделать это из одного файла саранчи, но пройти какой тест я хочу запустить в качестве аргумента в locust -f locustfile.py --host=<host>.


person learner_new    schedule 29.10.2019    source источник
comment
Честно говоря, я не могу точно понять, что вы хотите сказать. Ожидаете ли вы запускать и бэкэнд, и интерфейс из одного и того же файла? Содержит ли этот файл функции, выполняющие эту деятельность? Не уверен, что это поможет, но вы можете проверить эту ссылку - stackoverflow.com/questions/59085387/   -  person Avataar17    schedule 24.12.2019


Ответы (1)


Используйте декоратор @task, он будет запускать каждый пример кода здесь

# The multiple uer login script with - https://opensource-demo.orangehrmlive.org

from locust import HttpUser, TaskSet,task,between

class UserBehaviour(TaskSet):

    @task(1)
    def login_post(self):
        print("from user 1 logining in")
        resp = self.client.post("/index.php/auth/login",data={"action": "process","userName": "Admin","password": "admin123" , "_csrf_token": " f28bb18622cc82a56c41be5f7de07690"})
        print(resp.status_code)
    @task(1)
    def load_dashboard(self):
        print("from user 2")
        resp = self.client.get("/webres_5f61a473615588.75870608/orangehrmDashboardPlugin/js/graph-visualizer/pie-chart.js")
        self.client.get("/webres_5f61a473615588.75870608/orangehrmDashboardPlugin/js/flot/JUMFlot.min.js")
        self.client.get("/webres_5f61a473615588.75870608/orangehrmDashboardPlugin/js/flot/jquery.flot.pie.min.js")
        self.client.get("/index.php/dashboard/employeeDistribution")
        print(resp.status_code)
    @task(1)
    def apply_leave(self):
        print("from user 3")
        resp = self.client.get("/index.php/leave/getWorkWeekAjax?_=1602164350152")
        self.client.get("/index.php/leave/getHolidayAjax?year=2020&_=1602164350151")
        self.client.get("/index.php/leave/getLeaveBalanceAjax?&leaveType=1&startDate=yyyy-mm-dd&endDate=yyyy-mm-dd")
        self.client.get("/index.php/leave/getLeaveBalanceAjax?&leaveType=1&startDate=2020-10-09&endDate=2020-10-09")
        self.client.get("/index.php/leave/getLeaveBalanceAjax?&leaveType=1&startDate=2020-10-09&endDate=2020-10-16")
        print(resp.status_code)

        
                                      


class User(HttpUser):
    tasks=[UserBehaviour]
    wait_time = between(5000, 10000)
    host="https://opensource-demo.orangehrmlive.com"

person Loopero    schedule 28.10.2020