Проверка печатающего кипариса 'TypeError: cy.chain не является функцией - PullRequest
0 голосов
/ 31 августа 2018

Я проверяю cookie в моем тесте Cypress, указанном ниже, но Cypress выдает следующую ошибку:

TypeError: cy.chain не является функцией

Явно импортировал следующее под '../support/index.js' Может кто-нибудь подсказать, почему выдает ошибку

import './commands'

тест на кипарис:

describe("Login test validate cookie", () => {
    it.only('Verify the cookies test for login', function() {
        cy
        .login(Cypress.env('email'), Cypress.env('password'))
        cy
        .getCookie('csrftoken')
        .then((csrftoken) => {
            console.log(csrftoken)
        })
    })

Ниже приведен мой метод / функция 'login' ../support/commands.js

Cypress.Commands.add('login', (email, password) => {
    return cy.chain().request({
        method: 'POST',
        form: true,
        url: '${cypress.env("test_server")}',
        body: '{"email", "password"}',
    })
}); 

Ниже приведена подробная информация в файле 'cypress.env.json'

{ 
  "email": "test@soccer.nl",
  "password": "test1234"
}

1 Ответ

0 голосов
/ 31 августа 2018

ошибка правильная; cy.chain() действительно не является функцией. Однако в вашей команде есть ряд проблем:

  1. Если вы не планируете отключить эту команду, вам не нужно ничего возвращать. Это, конечно, ничего не повредит.
  2. Как упоминалось ранее, .chain() не требуется.
  3. В вашем поле url должны использоваться обратные символы (``), чтобы ${...} работал.
  4. Ваше поле body будет содержать «адрес электронной почты» и «пароль», а не ваш фактический адрес электронной почты и пароль.

Возможно, есть и другие проблемы, но это те, которые я вижу.

Вот как бы выглядела ваша команда без этих проблем:

Cypress.Commands.add('login', (email, password) => {
    cy.request({
        method: 'POST',
        form: true,
        url: `${cypress.env("test_server")}`,
        body: `{"${email}", "${password}"}`,
    });
}); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...