Aprenda uma técnica simples para executar testes automatizados em diferentes ambientes, sobrescrevendo a configuração do Cypress
Retomando a série “pitadas de Cypress“, resolvi trazer um tema simples, porém recorrente em fóruns de discussão sobre testes automatizados.
Imagine que você precisa executar o mesmo conjunto de testes end-to-end contra um ambiente local de desenvolvimento, no ambiente de homologação e depois em produção.
Digamos que as URLs dos ambientes sejam as seguintes:
E no arquivo de configurações do Cypress, a propriedade baseUrl possua o valor http://localhost:8000, ou seja, aponta para o ambiente local de desenvolvimento.
No arquivo package.json, poderíamos ter os seguintes scripts:
"scripts": {
"test": "cypress run",
"test:homolog": "cypress run --config baseUrl=https://example.com/my-app-homolog",
"test:prod": "cypress run --config baseUrl=https://example.com/my-app"
}
E aí, no terminal, ou mesmo em um pipeline de integracão contínua, basta executar os seguintes comandos para rodar os testes contra os diferentes ambientes.
npm test(ounpm t– versão curta) – para executar os testes contra o ambiente local de desenvolvimentonpm run test:homolog– para executar os testes contra o ambiente de homologação- e
npm run test:prod– para rodar os testes em produção
E é isso aí!
E da mesma forma que a baseUrl pode ser sobrescrita, outras configurações podem também.
E aí, o que mais você gostaria de ver na série “pitadas de Cypress“?
Este conteúdo foi traduzido para inglês e pode ser encontrado no DEV Community.
Ficou curioso(a) e quer aprender mais sobre automação de testes com Cypress? Conheça os cursos da Escola TAT.
Uma solução muito simples e eficaz, obrigada…
Walmyr, eu tenho um desafio, realizar uma carga no sistema fazendo um upload de + – 300 arquivos, arquivos armazenados no google drive, como posso buscar esses arquivos?
Oi Carol, fico feliz que gostou da solução.
Sobre teste de carga, não é minha área, mas creio que uma pesquisa no Google deve ajudar.
E no caso de mudar a conexao com o banco e dafos tbm?? Como alterar toda a config?
Conforme comento no post, da mesma forma que a baseUrl pode ser sobrescrita, outras configurações podem também.
boa noite, peguei um caso que preciso mudar o chromeWebSecurity: false que utilizo para true em uma pagina especifica na aplicação que utilizo, sabe como posso mudar ? tentei via linha de comando e não deu certo
Segundo a documentação oficial só via arquivo de configuração mesmo https://docs.cypress.io/guides/guides/web-security#Set-chromeWebSecurity-to-false-in-the-Cypress-configuration.
Se precisa de suporte via linha de comando, recomendo abrir uma issue pro time do Cypress no projeto oficial no GitHub.