#javascript #api #cypress
#javascript #API #кипарис
Вопрос:
Я пытаюсь создать запрос API для входа в систему chess.com сайт, но, похоже, запрос не выполняется. Шаги по воспроизведению:
- Я отправляю запрос вручную и проверяю его в Google developer tools. Вот и результат:
Request URL: https://www.chess.com/login_check
Request Method: POST
Form Data
_username: user@test.com
_password:1234567
login:
_target_path: https://www.chess.com/
_token: cQr-epETT8R1cTUDY-AFua1cHdE46sHqY3OyDXgDz_k
- Я создал запрос GET в Cypress для получения токена, а затем использовал этот токен вместе со своими учетными данными в своем запросе POST на сервер для входа в систему. Вот моя просьба:
describe("Login via API", () => {
it("Send request for the token", () => {
cy.request("GET", basicLinks.loginUrl).then((response) => {
const token = Cypress.$(response.body).find("#_token").attr("value");
cy.request({
method: "POST",
url: "/login_check",
form: true,
body: {
_username: "test@yahoo.com",
_password: "12345",
login: {
_target_path: "https://www.chess.com/",
_token: token,
},
},
});
});
});
});
- Но похоже, что с запросом что-то не так, потому что, насколько я вижу, я получил начальную страницу входа в систему в качестве ответа сервера. Кто-нибудь может посоветовать, что я делаю неправильно и как я могу исправить свой запрос? Пожалуйста, найдите прилагаемый скриншот, содержащий упомянутые выше данные.
Комментарии:
1. Можете ли вы распечатать значение токена перед
cy.request
использованиемcy.log(token)
, чтобы проверить, правильно ли сохранено значение.2. Да, значение токена используется правильно. Вы можете видеть это на скриншоте выше в теле запроса в конце строки.