14 comentários em “Como fazer login com Cypress em diferentes ambientes

  1. Sua orientação foi muito válida, e me ajusou a configurar meu ambiente aqui, sempre me intriguei, porque não conseguiria usar mais de uma configuração de ambiente, agora, sim, vai para frente, obrigado. Implementei agora a tarde e deu Certinho, sem problemas, ja vou começar a inserir mais variáveis que irei utilizar hehe.

  2. Walmyr, eu consegui configurar isto no meu teste, porém, eu só consigo rodar o teste com sucesso via linha de comando. Se eu rodo o comando “npx cypress open” para abrir o cypress e ver em tempo real o teste rodando, o teste falha, e eu tomo um erro na parte ali do “nome”. Error: Cannot read properties of undefined (reading ‘nome’)
    Eu só consigo fazer o teste rodar com sucesso via linha de comando com esse tipo de configuração?

    1. Oi Nathália,
      Por favor, faça um commit do seu código (com todas suas mudanças), publique no GitHub (com um git push) e compartilhe o link do seu repositório para que eu possa baixar o código em meu computador e tentar reproduzir o problema. Dessa forma, mais facilmente poderei te ajudar.
      Fico no aguardo.

  3. Ei Walmyr, seu blog sempre ajudando demais!
    Porém essa configuração de vários ambientes (a do vídeo), para versão 11 do cypress, não funciona mais, até tentei adaptar, sem sucesso.
    Alguma chance de lançar uma atualização para versões mais recentes?
    Muito obrigada

    1. O que você quer dizer com não funcionará mais? A idéia é a mesma, deve funcionar sim. Por qual motivo não funcionaria?
      Se não funcionou pra você, já pensou que talvez tenha feito algo errado, ou que algum detalhe esteja faltando?

  4. Oi, Walmir. Tudo bem? Primeiramente muito obrigado pelo conteúdo.
    Tentei utilizar essa mesma lógica mas colocando URLs diferentes dentro do .env, ficou assim:
    Cypress.Commands.add(‘loginAPI’, () => {
    if (Cypress.env(‘environment’) === ‘homolog’) {
    Cypress.env(‘URL’, Cypress.env(‘url_local’))
    Cypress.env(‘user’, Cypress.env(‘homologUser’))
    } else if (Cypress.env(‘environment’) === ‘prod’) {
    Cypress.env(‘URL’, Cypress.env(‘url_prod’))
    Cypress.env(‘user’, Cypress.env(‘prodUser’))
    } else {
    Cypress.env(‘URL’, Cypress.env(‘url_local’))
    Cypress.env(‘user’, Cypress.env(‘localUser’))
    }

    Apesar disso não funcionou, ele simplesmente pega somente a primeira URL do env e desconsidera as outras.
    Consegue me dar uma luz de como trabalhar com URLs diferentes? No caso não coloco só uma BASE_URL pois tenho diferentes URL pra testar front e back.
    Agradeço sua ajuda. Abraço

    1. Opa Lucas, o blog post demonstra uma solução simples para lidar com várias URLs, que é sobrescrever a mesma via linha de comando (ex. cypress run –config baseUrl=https://example.com). Por qual motivo fazer diferente?

      1. Opa, Walmir. No caso eu tenho duas URLs dentro do mesmo ambiente (front e back).
        Meu .env está dessa forma, por exemplo:
        {
        “url_local”: {
        “front”: “http://localhost:4200”,
        “back”: “http://localhost:8080”
        },
        […]

        Tentei de todas as formas aqui mas não consegui setar o script para a URL correta. Teria alguma forma?
        Desde já obrigado pela ajuda e atenção!

Deixe um comentário