В настоящее время мы используем Cypress для тестирования нашего приложения.У нас есть 2 окружения с 2 разными серверами api_Servers.Я хочу определить это в файлах среды.Я не уверен, как определить оба URL в одном файле.
Например,
Environment-1:
baseUrl - https://environment -1.me / Api_Serever - https://api -environment-1.me/v1
Environment-2:
baseUrl - https://environment -2.me / Api_Serever - https://api-environment-2.me/v1
Таким образом, от baseUrl зависит только несколько тестовых случаев, и 1 тестовый случай для проверки API зависит от Api_Serever.
Чтобы решить эту проблему, я попытался установить baseUrl и Api_Serever в файле конфигурации внутри плагина по этой ссылке https://docs.cypress.io/api/plugins/configuration-api.html#Usage.
Я создал два файла конфигурации для 2 сред,
{
"baseUrl": "https://environment-2.me/",
"env": {
"envname": "environment-1",
"api_server": "https://api-environment-1.me/v1"
}
}
Другой файл, подобный этому, изменяющий соответствующие конечные точки.
файл плагина был изменен как,
// promisified fs module
const fs = require('fs-extra')
const path = require('path')
function getConfigurationByFile (file) {
const pathToConfigFile = path.resolve('..', 'cypress', 'config', `${file}.json`)
return fs.readJson(pathToConfigFile)
}
module.exports = (on, config) => {
// `on` is used to hook into various events Cypress emits
// `config` is the resolved Cypress config
// accept a configFile value or use development by default
const file = config.env.configFile || 'environment-2'
return getConfigurationByFile(file)
}
внутри тестовых случаев, в зависимости от того, какое обращение к baseUrl мы использовали посещение ('/')
Это прекрасно работает, когда мызапустите определенный файл из командной строки, используя команду cypress run --env configFile = environment-2, все тестовые случаи пройдены, поскольку посещение ('/') автоматически заменяется соответствующими средами, ожидающими тестовый случай API.
Я не уверен, как следует изменить тест API для вызова конечной точки API вместо базового URL.
Может кто-нибудь помочь, пожалуйста?
Спасибо, Индху.