1
resposta

[Dúvida] O video que o cypress esta gravando não esta completo

Como faço para altera o tempo de gravação do video do cypress se o mesmo não esta gravando toda a aplicação?

1 resposta

Oi Thaise!

Acho q entendi o seu problema com o Cypress. Quando o vídeo gravado pelo Cypress não captura toda a execução da aplicação, pode ser que a gravação esteja sendo cortada devido ao tempo limite de execução de testes ou a algum problema na configuração de tempo de espera para o Cypress.

1. Aumentar o tempo de execução dos testes

O Cypress grava vídeos automaticamente de todos os testes, mas pode haver um limite de tempo para a execução dos testes. Se o teste ultrapassar esse tempo limite, o Cypress pode parar a gravação do vídeo.

Para aumentar esse tempo limite de execução e garantir que o vídeo grave toda a aplicação, você pode configurar o parâmetro videoCompression e videoUploadOnPasses em seu arquivo cypress.json, e também ajustar o tempo de espera para os testes.

Aqui estão as configurações que você pode tentar:

Configurações no cypress.json

{
  "video": true, // Habilita a gravação do vídeo
  "videoCompression": 32, // Reduz a compressão do vídeo, se necessário
  "videoUploadOnPasses": false, // Não faz upload de vídeos quando o teste passa
  "defaultCommandTimeout": 10000, // Tempo limite para comandos (10 segundos)
  "execTimeout": 120000, // Tempo limite de execução do teste (2 minutos)
  "pageLoadTimeout": 60000, // Tempo limite para o carregamento da página
  "waitForAnimations": true // Aguarda animações, se necessário
}

2. Verificar a configuração de gravação do vídeo

Certifique-se de que a gravação de vídeos está habilitada no seu projeto Cypress. O Cypress grava vídeos por padrão, mas se a configuração estiver desativada, o vídeo não será gerado.

No cypress.json, verifique se a opção "video" está definida como true:

{
  "video": true
}

3. Ajustar o timeout para comandos e espera

O Cypress tem várias configurações que controlam o tempo de espera para os testes, como o defaultCommandTimeout (tempo limite para comandos individuais), execTimeout (tempo limite para a execução de comandos), e pageLoadTimeout (tempo limite para o carregamento de uma página). Se seus testes são mais longos ou há delays em sua aplicação (ex.: animações, carregamento de dados), você pode ajustar esses valores para garantir que o Cypress tenha tempo suficiente para completar a execução e capturar o vídeo corretamente.

4. Verificar se o vídeo foi cortado ou se a execução foi interrompida

Se o vídeo foi cortado no meio da execução, pode ser que o teste tenha falhado ou tenha sido interrompido antes de ser completado. Verifique os logs do Cypress e veja se há algum erro que tenha causado a interrupção do teste. O Cypress normalmente exibirá mensagens de erro detalhadas se o teste falhar, o que pode te ajudar a identificar o motivo da interrupção.

5. Revisar o tipo de execução do teste

Se o teste envolve muitos recursos (ex.: interações pesadas com a UI ou muitos dados), a execução pode demorar mais do que o esperado. Nesse caso, você pode tentar rodar o Cypress em modo interativo para observar o comportamento ao vivo, e assim verificar melhor os tempos de execução dos testes e identificar potenciais pontos de demora.

6. Verificar o ambiente de execução

Se você estiver executando os testes em um ambiente de integração contínua (CI), alguns serviços de CI podem ter limitações de tempo para a execução de testes. Nesse caso, verifique se há algum limite de tempo para execução de testes no serviço que você está usando, e ajuste conforme necessário.

Boa sorte!