#locust
#locust
Вопрос:
У нас есть две задачи в одном классе, обе указывают на разные хосты.
Пример: первая задача (создать новый токен), указывающий на хост — HTTP://xyz.abc.new Вторая задача (создать новый токен-старый), указывающий на хост- HTTP://xyz.abc.old
import time
from locust import User, HttpUser, task, between, SequentialTaskSet
class LoginTaskSet(SequentialTaskSet):
@task
def generate_token(self):
headers = {'Content-Type': 'application/x-www-form-urlencoded'}
launch_response_new = self.client.post("/oauth2/access?grant_type=passwordamp;username=abcd@xyz.comamp;password=SWr5q3ghhhSd", headers=headers,name = "Create a new token")
print("Launch - Response body: {}".format(launch_response_new.text))
@task
def generate_old_token(self):
headers = {'Content-Type': 'application/x-www-form-urlencoded'}
launch_response_old = self.client.post("/oauth/access?grant_type=passwordamp;username=abcd@xyz.comamp;password=SWr5q3ghhhSd", headers=headers,name = "Create a new token- old")
print("Launch - Response body old: {}".format(launch_response_old.text))
class Login(HttpUser):
tasks = [LoginTaskSet]
wait_time = between(1, 2)
Как отправлять значения хоста как часть каждого запроса? Как запустить locust без передачи значения хоста?
Ответ №1:
Вы можете указать ему полный URL-адрес в своих клиентских вызовах. Он должен использовать только host
тот, который вы ему даете, когда начинаются ваши конечные /
точки. Так что вместо того, чтобы просто "/oauth2/…"
делать "http://xyz.abc.new/oauth2/..."
.