Как получить доступ к переменным среды из support/commands.js на кипарисе?

#cypress

#cypress

Вопрос:

Я использую support/commands.js из cypress, чтобы установить функции для запросов к API или для входа в тестовые файлы.

На моем commands.js У меня есть эта функция.

 Cypress.Commands.add("login", () => {
  cy.request({
    method: "POST",
    form: true,
    url: "baseUrl/api/v1/auth/login",
    headers: {
      "Content-Type": "application/json",
    },
    body: {
      email: "testUserEmail",
      password: "testUserPassword",
    },
  })
    .its("body.data")
    .should("exist")
    .then((session_token) => {
      cy.setLocalStorage("default_auth_token", session_token);
      cy.setCookie("rememberMe", "false");
      token = session_token;
    });
});
  

Я хочу получить доступ к переменным в моем файле cypress.json, чтобы установить там baseUrl, user и password, а не все распространять на моем commands.js .

Ответ №1:

Вы можете получить Cypress.config() доступ к любым значениям из вашего cypress.json файла. Предполагая, что ваш файл cypress.json выглядит следующим образом:

 {
    "baseUrl": "https://example.com/api/v1/auth/login",
    "username": "admin",
    "password": "password"
}
  

Вы можете использовать эти значения в своем support/commands.js файле как:

 Cypress.config('baseUrl')
Cypress.config('username')
Cypress.config('password')