Тестирование входа в систему Locust в приложении Laravel

Попытка войти в приложение laravel с помощью Locust.
Мой код следующий:

from locust import HttpLocust, TaskSet, task

class UserBehavior(TaskSet):
def on_start(self):
self.login()

def login(self):
response = self.client.get("/en/login")
csrftoken = response.cookies['XSRF-TOKEN']
session = response.cookies['bitrent_session']
post_data = {'username': "[email protected]", 'password': '1234', "_token":     csrftoken }
with self.client.post('/en/login', post_data,
catch_response=True) as response:
print("Code: ", response.status_code)
print("Content: ", response.content

@task()
def index(self):
self.client.get("/")

class WebsiteUser(HttpLocust):
task_set = UserBehavior
min_wait = 5000
max_wait = 9000

Однако я получил ошибку — Код 419 Содержание Срок действия страницы истек из-за неактивности.
Может кто-нибудь посоветовать мне, как войти в приложение Laravel, используя Locust

0

Решение

Нашел ответ:

Причина в том, что я передаю неверное значение для поля _token.
Вместо этого, если вы столкнулись с той же задачей, вы можете попробовать следующее:

import re
from locust import HttpLocust, TaskSet, task

class UserBehavior(TaskSet):
def on_start(self):
self.login()

def login(self):
response = self.client.get("/en/login")
print("Content: ", response.content)
csrftoken = re.search('meta name="csrf-token" content="(.+?)"', response.text).group(1)

print("token: ", csrftoken)
post_data = {'username': "[email protected]", 'password': '1234', "_token": csrftoken }
with self.client.post('/en/login', post_data,
catch_response=True) as response:
print("Code: ", response.status_code)
print("Content: ", response.content)@task()
def index(self):
self.client.get("/")

class WebsiteUser(HttpLocust):
task_set = UserBehavior
min_wait = 5000
max_wait = 9000

Надеюсь, что это поможет кому-то в будущем 🙂

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]