Cypress + dotenv: Como utilizar arquivos .env em seus testes automatizados

Continuando a divulgar pra vocês minhas descobertas com cypress 👩🏻‍🏫, hoje vim falar sobre como podemos utilizar o pacote dotenv para armazenar variáveis ​​deambiente de maneira simples e usa-las.ado em testes

Caso você trabalhe ou já trabalhou com mais de umambiente de desenvolvimento, sabe o quão Importante é ter algum arquivo de configurações. Para testes automatizados é a mesma coisa, as váriaveis deambiente nos permite reproduzir testes em diferentesambientes, sem precisar mudar os testes em si, apenas ajustando as configurações necessárias.

O Cypress atualmente nos da diversas opções de como criarmos e utilizarmos essas váriaveis deambiente, porém, neste pequeno tutorial iremos focar no uso do pacote dotenv .


오 파코트 도텐브



Basicamente, o dotenv é um modulo que carrega as váriaveis deambiente de um arquivo .env para algum processo em execução. Para instalar você pode usar o pacote npm:

npm install dotenv --save


우 원사:

yarn add dotenv


Após instalar o pacote, basta criar um arquivo .env (necessariamente apenas .env, caso você coloque outro nome pode ocorrer erros), para modo de exemplo, será utilizado o projeto que realiza os testes da API de CEPs( ).

Criação do arquivo .env

간단한 작업, 예상 가능한 작업, 무기한 작업에 필요한 작업 .env apenas a nossa url base:

BASE_URL = "https://viacep.com.br/ws/"


Utilizando a váriavel deambiente no testes



Agora que já temos nosso arquivo pronto, precisamos acessa-lo e pegarmos essa variável. Para o cypress compreender que estamos armazenando nossas variáveis ​​deambiente em um arquivo .env , precisamos sinalizar isto dentro do nosso arquivo de plugins, pois como é um pacote externo, o cypress o entende como um 플러그인.

Então, dentro de plugins/index.js vamos começar exportando o dotenv:

require('dotenv').config()

module.exports = (on, config) => {

}


Após fazermos isto, vamos tornar as variáveis ​​do nosso arquivo .env disponíveis pra testes as copiando para dentro do arquivo de configuração config.env 사이프러스 고유의 작업을 수행합니다. Para isto, basta fazermos o seguinte:

require('dotenv').config()

module.exports = (on, config) => {
      config.env.baseurl= process.env.BASE_URL
      return config
}


Depois de realizar a configuração, já é possivel ver que sua variavel deambiente já aparece nas configurações do cypress quando você executa o comando npx cypress open e vai em Settings -> Configuration:



Precisamos retornar o config para o cypress entender que o objeto de configuração foi alterado.

알테란도 em nosso comando, onde esta variável é utilizada, vamos utilizar o comando Cypress.env() :


Cypress.Commands.add('GetMethod', (cep)=>{
    cy.request({
        method: 'GET',
        url: `${Cypress.env('baseurl') + cep}/json`,
        failOnStatusCode: false
    })
})


E ao executarmos novamente os testes vamos ver que continuam rodando com sucesso:



A utilização de arquivos .env para o amarzenamento de variáveis ​​nos permitte ter mais flexibilidade no momento de configura-las e ter um grande volume das mesmas, acessando de maneira simples.

Para mais formas de configurar suas variáveis ​​deambiente, basta acessar a documentação do cypress , o codigo deste tutorial está disponível aqui 🏃🏻‍♀️ 🏃🏻‍♀️

좋은 웹페이지 즐겨찾기