Oii Matheus, como você está?
Peço desculpas pela demora em obter um retorno.
Este é um comportamento esperado, pois, em ambientes e situações que exigem que inúmeros testes sejam executados, a velocidade de execução do teste será muito importante, uma vez que é necessário testar rapidamente para que erros sejam corrigidos e também, para que os usuários façam o uso da ferramenta.
Por exemplo, imagine um banco online, agora, imagine, quantos testes eles têm que efetuar para manter o aplicativo do banco em perfeito funcionamento… muitos não é mesmo? Posso te afirmar que são mais de mil casos de testes. Agora, imagine todos esses testes demorando inúmeras horas ou quase um dia inteiro para ser executado… isso ocasionará perda de dinheiro para a empresa que não conseguirá implantar rapidamente o sistema e frustração na equipe de testes, que ficará limitada por ter que ficar aguardando muito tempo para os testes executarem.
Sendo assim, nativamente, o Cypress não possui a opção de desacelerar a execução, pois o objetivo é que ele seja rápido. Outro detalhe que vale ressaltar é que nem sempre utilizaremos a interface, pois é possível executar os testes em modo oculto, apenas pelo terminal, sem necessariamente abrir o navegador, o que aumenta a performance e velocidade.
Todavia, existe um pacote denominado cypress-slow-down
que permite fazer essa desaceleração. Este pacote é válido apenas para versão 10 ou superior com Cypress.
Para utilizá-lo, instale-o via terminal:
npm i -D cypress-slow-down
Com o pacote instalado, vá até algum arquivo de testes, por exemplo o arquivo alura-busca.spec.js
e coloque no cabeçalho do arquivo a importação deste pacote:
import { slowCypressDown } from 'cypress-slow-down'
Agora, basta usarmos a função slowCypressDown()
que por padrão desacelerará os testes em 1 segundo - este número pode ser alterado, mas por padrão é 1 segundo:
import { slowCypressDown } from 'cypress-slow-down'
slowCypressDown()
Como resultado, veremos que o navegador executa passo a passo do teste de forma lenta e gradual, como mostro abaixo:
Caso queira alterar o valor padrão de atraso dos testes, basta passar como parâmetro da função um número em milissegundos. Caso quiséssemos atrasar 2 segundos, poderíamos utilizar o código abaixo:
slowCypressDown(2000)
Com isso, ao usarmos o recurso do pacote cypress-slow-down
conseguiremos observar os testes executando de modo lento, diferentemente do comportamento padrão do Cypress que trata rapidamente cada ação.
Caso queira se aprofundar e conhecer mais a respeito deste pacote, recomendo a documentação do mesmo no github:
Espero ter ajudado. Fico à disposição.
Grande abraço!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!