#javascript #automated-tests #integration-testing #cypress
#javascript #автоматизированные тесты #интеграция-тестирование #cypress
Вопрос:
Я использую эту ссылку в качестве ссылки для передачи конфигурации в мои тесты cypress: https://docs.cypress.io/api/plugins/configuration-api.html#Switch-between-multiple-configuration-files
Мой пример конфигурационного файла выглядит следующим образом:
{
"env": {
"country": "US",
"testenv": "staging",
"US": {
"baseUrl" : "somevalue"
}
}
Теперь я хочу переопределить значение страны из командной строки, я попытался использовать
cypress open --env country="Germany"
но он по-прежнему не принимает значение, переданное в командной строке, и по-прежнему принимает значение из файла конфигурации. Любая помощь по этому вопросу очень ценится!
Комментарии:
1. Не могли бы вы обновить свой вопрос, чтобы показать полную команду CLI, которую вы используете для запуска cypress с переопределением этих значений env?
2. Выполнено. Спасибо за правки.
Ответ №1:
Не уверен, что произойдет в вашем случае. Вот разрешенные настройки при выполнении просто npx cypress open
Теперь, когда я запускаю $ npx cypress open --env country=Canada
здесь, это вкладка разрешенных настроек
Комментарии:
1.В моем случае я передаю файл через плагин, как рекомендовано в руководстве, следующим образом:
module.exports = (on, config) => { // accept a configFile value or use development by default const file = config.env.configFile || "staging"; return getConfigurationByFile(file);
function getConfigurationByFile(file) { const pathToConfigFile = path.resolve(".", "cypress/config", `${file}.json`); return fs.readJson(pathToConfigFile); }
— по какой-то причине по умолчанию всегда используются значения в файле конфигурации. Теперь я попробую ваш метод. Спасибо!
Ответ №2:
Я столкнулся с той же проблемой и решил ее, используя следующий подход:
Я использую следующую команду:
npm run dev -- --config video=false
Это преобразуется в following by node:
cypress open -C config.json "--config" "video=false"
Это работает ТОЛЬКО тогда, когда у меня нет флага video, присутствующего в моем config.json
. Поэтому я не могу начать со значения по умолчанию для параметра, который я хотел бы переопределить.