Как настроить среду для Cypress.io
Я занимаюсь настройкой набора тестов для веб-приложения моей компании. В то время мы используем четыре среды (производство, регрессия, подготовка, разработка). У меня есть переменные окружения в моем файле cypress.json, но я хотел бы иметь возможность переключить свою среду, например, с регрессии на разработку, и заставить Cypress изменить baseURL на мою новую среду, а также указать на другой файл cypress.json это имеет переменные развития. Документация по окружениям на cypress.io немного сбивает меня с толку, и я не уверен, с чего начать.
3 ответа
Я использую Cypress в разных средах, используя сценарии package.json. Вы можете передать в env vars перед командой cypress. Это будет выглядеть примерно так:
"scripts": {
"cypress:open:dev": "CYPRESS_BASE_URL=http://localhost:3000 cypress open",
"cypress:open:prod": "CYPRESS_BASE_URL=http://mycompanydomain.com cypress open",
"cypress:run:dev": "CYPRESS_BASE_URL=http://localhost:3000 cypress run",
"cypress:run:prod": "CYPRESS_BASE_URL=http://mycompanydomain.com cypress run",
}
Если вы хотите сделать вместо этого 4 отдельных файла cypress.json, вы можете присвоить им имена в соответствии со средой, и когда вы запускаете скрипт npm, соответствующий этой среде, просто скопируйте его, чтобы он стал основным cypress.json при запуске тестов.
Files:
./cypress.dev.json
./cypress.prod.json
./cypress.staging.json
./cypress.regression.json
npm scripts:
"scripts": {
"cypress:run:dev": "cp ./cypress.dev.json ./cypress.json; cypress run;"
}
Вы можете передать файл конфигурации, который будет использоваться с
--config-file
параметр как:
Синтаксис:-
cypress open --config-file <config-file-name>
Если у вас разные файлы среды, это должно быть так:
"scripts": {
"cypress:open:prod": "cypress open --config-file production-config.json",
"cypress:open:stag": "cypress open --config-file staging-config.json",
},
Если вы видите приведенные выше команды, мы говорим кипарису использовать
production-config.json
файл для
prod
окружающая среда и так далее
staging-config.json
за
stag
Окружающая среда.
В последней версии Cypress (10 и выше) это можно сделать двумя способами:
1). Создание разных файлов конфигурации для каждой среды. Например: dev.config.js, stage.config.js, а затем создайте сценарий в package.json с флагом «--config -file <file_name>». Пример: «npx cypress run - -config -file dev.config.js"
2). Создание cypress.env.json и добавление URL-адресов или ключей для каждой среды.
Вот подробное видео - https://www.youtube.com/watch?v=ZW43ZM1yMuM