Checklist de Cypress
Marque os itens que você tem experiência.
Sei escrever scripts de testes com Cypress
Sei como realizar verificações de resultados esperados com Cypress
Sei refatorar e dividir um teste longo do Cypress em testes mais curtos
Consigo encontrar respostas para minhas perguntas sobre Cypress
Sei como testar o upload de arquivos com o comando .selectFile
Sei como testar a leitura de arquivos com o comando .readFile
Sei como lidar com links que abrem em outra aba do navegador
Sei como controlar o relógio do navegador com os comandos cy.clock e cy.tick
Sei como evitar que dados sensíveis "vazem" no log de comandos do Cypress
Sei organizar diferentes testes em seus específicos contextos utilizando a função context
Sei como passar valores ao
test runner
através de variáveis de ambiente ou argumentos de linha de comando
Sei como selecionar testes para execução usando argumentos de linha de comando e configurações do arquivo cypress.config.js
Sei a diferença entre os objetos Cypress.env e Cypress.config
Sei como definir a baseUrl direto no teste, no arquivo cypress.config.js, via argumentos de linha de comando ou via variáveis de ambiente
Sei criar scripts de testes que autenticam o usuário antes de cada teste usando o
hook
beforeEach
Sei criar scripts de testes que fazem autenticação usando cookies
Sei escrever comandos customizados para encapsular e abstrair código de autenticação
Sei como otimizar testes restaurando a sessão do usuário com comando cy.session
Sei como otimizar testes criando o estado inicial do teste através de chamadas de API utilizando o comando cy.request
Sei como navegar por diferentes domínios no mesmo teste com o comando cy.origin
Sei controlar as dimensões do navegador
Sei como habilitar funcionalidades experimentais do Cypress
Sei como configurar re-tentativas de testes
Sei escrever comandos customizados para selecionar elementos seguindo as melhores práticas do Cypress (usando um atributo de ID de teste)
Sei instalar e usar plugins adicionais do Cypress, como cypress-iframe, cypress-real-events, cypress-grep, cypress-axe e outros
Sei como executar comandos à nível de sistema operacional com o comando cy.exec
Sei escrever código Node.js para rodar no processo do servidor para ser chamado via cy.task (para ler dados de um banco de dados, por exemplo, e confirmar que tais dados são exibidos na tela)
Sei escrever testes com Cypress usando TypeScript
Sei deuprar testes instáveis, fazendo os testes esperarem pelo estado correto da aplicação, usando o mecanismo integrado de
retry-ability
Sei como alterar os diferentes
timeouts
do Cypress direto no teste e através do arquivo cypress.config.js
Sei como observar as chamadas que a aplicação faz à serviços externos e APIs usando o comando cy.intercept
Sei como interceptar as chamadas de rede que a aplicação faz usando o comando cy.intercept, modificando o
body
da resposta ou usando um arquivo de fixture
Sei como carregar e usar fixtures usando o comando cy.fixture
Sei fazer chamadas para endpoints REST usando o comando cy.request
Sei fazer chamadas para endpoints GraphQL usando o comando cy.request
Sei configurar o IntelliSense e usar tipagem no Cypress para garantir que os testes usem os comandos corretamente
Sei como acessar dados expostos pela aplicação através do objeto window
Sei como acessar o localStorage do navegador
Sei configurar testes visuais usando plugins
Sei como chamar o código da aplicação a partir do teste (
App Actions
)
Sei como instrumentar o código fonte da aplicação e usar o plugin de cobertura de código do Cypress para encontrar as funcionalidades não cobertas por testes
Sei escrever testes de API com feedback visual usando o plugin cypress-plugin-api
Sei gerar fixtures com dados dinâmicos
Sei configurar análise estática de código com o plugin eslint-plugin-cypress para seguir as melhores práticas em desenvolvimento de testes automatizados
Sei escrever testes de componentes React/Angular/Vue/Svelte usando o recurso de testes de componentes do Cypress
Sei configurar a execução dos testes em paralelo gratuitamente usando o plugin cypress-split
Sei fazer o
upgrade
de uma versão do Cypress anterior a v10 (ex.: v9.7.0) para uma versão mais recente (ex.: v13.12.0)
Sei gravar os testes na nuvem do Cypress (Cypress Cloud)
Sei executar testes do Cypress no GitHub Actions
Sei executar testes do Cypress no CircleCI usando a Cypress CircleCI Orb