Como eu faço para criar uma função para rodar os testes em ambientes diferentes? Por exemplo, no meu trabalho eu tenho o ambiente de testes e produção. Eu teria como setar a URL do ambiente automaticamente antes de rodar os meus testes?
Como eu faço para criar uma função para rodar os testes em ambientes diferentes? Por exemplo, no meu trabalho eu tenho o ambiente de testes e produção. Eu teria como setar a URL do ambiente automaticamente antes de rodar os meus testes?
Oii Luciane, como você está?
Peço desculpas pela demora em obter um retorno.
Para realizar essa operação, podemos utilizar o atributo baseUrl
, junto com a cláusula --config
e configurar dentro do arquivo JSON os scripts responsáveis por executar a URL Base em cada caso diferente.
Sendo assim, suponha que temos os seguintes endereços para os diferentes ambientes:
https://alura-fotos.herokuapp.com
https://apialurapic.herokuapp.com/flavio/photos
No arquivo package.json
podemos configurar esses dois ambientes da seguinte forma:
"scripts": {
"test": "npx cypress open --config baseUrl=https://alura-fotos.herokuapp.com",
"test:prod": "npx cypress open --config baseUrl=https://apialurapic.herokuapp.com/flavio/photos"
}
Já nos locais onde utilizamos as cláusulas cy.visit()
ou cy.request()
, devemos alterar para uma barra (/
), para que dessa forma, essas funções reconheçam a URL que foi setada através do parâmetro baseUrl
:
cy.request({
method: 'GET',
url: '/'
})
beforeEach(() => {
cy.visit('/')
})
Para executar, caso seja no ambiente local, devemos fazer:
npm run test
Caso seja em ambiente de produção:
npm run test:prod
Com isso, automaticamente a URL será setada para cada ambiente que se deseja testar.
Caso queira se aprofundar em relação aos parâmetros que podem ser passados na execução do teste, recomendo a leitura do Guia de Comandos do Cypress run:
O conteúdo recomendado acima está em inglês, o uso da língua inglesa é bem comum na área de tecnologia, mas não se preocupe, caso não tenha afinidade com essa linguagem, recomendo que utilize o tradutor do navegador para uma melhor compressão.
Espero ter ajudado. Fico à disposição.
Grande abraço!