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?
ATÉ 50% OFF
TÁ ACABANDO!
0 dias
0 horas
0 min
0 seg
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.comhttps://apialurapic.herokuapp.com/flavio/photosNo 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 testCaso seja em ambiente de produção:
npm run test:prodCom 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!