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