Cypress: Невозможно использовать переменные --env из командной строки в тестовом файле - PullRequest
0 голосов
/ 09 апреля 2020

В моей настройке Cypress у меня есть следующие значения (плюс другие) в моем кипарисе. json файл:

{
 "PREPROD": {
    "url": "https://preprod.com",
    "username": "admin",
    "password": "admin"
  },
 "PROD": {
    "url": "https://prod.com",
    "username": "admin",
    "password": "admin"
  }
}

У меня есть тестовый файл, расположенный в cypress / интеграции / test. js

Исходя из того, в какой среде я хочу запустить свой тест, я хотел бы использовать значения, относящиеся к этой среде, в моем тестовом файле

Я пытался запустить так:

npx cypress run --env environment="PREPROD" --spec "cypress/integration/test.js"

Это возвращает ошибку, говорящую о том, что среда не определена.

В моем тестовом файле у меня есть следующее, чтобы использовать переменную из командной строки:

Cypress.config().environment.username

Как сделать Я go об использовании переменных, которые я определяю в командной строке? Я попытался прочитать документацию здесь, но она не работает для меня: Cypress Documentation

1 Ответ

1 голос
/ 09 апреля 2020

Согласно документации, вы можете получить доступ к переменной environment следующим образом:

Cypress.env('environment')

Если вы хотите получить параметры, зависящие от этого, вы можете сделать следующее:

const CypressConfiguration = require('cypress.json')

const environment = Cypress.env('environment') || 'PREPROD'

const options = CypressConfiguration[environment]

Еще один подход заключается в использовании опции config-file:

cypress.prod. json

{
    "url": "https://prod.com",
    "username": "admin",
    "password": "admin"
}

cypress.preprod . json

{
    "url": "https://preprod.com",
    "username": "admin",
    "password": "admin"
}

Тогда:

npx cypress run --config-file cypress.prod.json --spec "cypress/integration/test.js"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...