Uma alternativa para quando você precisa digitar textos muito longos
Recentemente, criei um vídeo chamado “Alternativas para testar o limite máximo de um campo de texto com Cypress“.
Neste vídeo, uma das alternativas foi sobrescrever o delay padrão do comando .type(), por zero.
Porém, há outra alternativa, a qual vou te mostrar a seguir, com um exemplo.
it('simulates sending a CTRL+V command to paste a long text on a textarea field', () => { const longText = Cypress._.repeat('0123456789', 20) cy.visit('./index.html') cy.get('textarea') .invoke('val', longText) .should('have.value', longText) })
Primeiro, armazeno em uma variável chamada longText o retorno da chamada da função .repeat, da biblioteca lodash (._), a qual vem empacotada junto com o Cypress.
O comando .repeat recebe como primeiro argumento a string a qual deseja-se repetir, e como segundo argumento, quantas vezes tal string deve ser repetida.
No caso do teste acima, a string é o valor 0123456789, a qual se repetirá 20 vezes.
Ou seja, na variável longText, teremos uma string com 200 caracteres.
Depois, visito a página da aplicação em teste com o comando cy.visit(). Neste caso, estou visitando um arquivo HTML local.
Então, após a localização do elemento com a tag textarea (com o uso do comando cy.get()), utilizo o comando .invoke(), para, como o nome propõe, invocar certo atributo do elemento, onde neste caso, estou invocando o atributo val (valor), e definindo nele o valor armazenado na variável longText.
Por fim, verifico que o valor foi corretamente definido.
Assita o vídeo do teste executando.
Como pode-se notar, o texto aparece tão rápido no campo, que é como se o Cypress estivesse colando-o, sem nenhum tempo perdido digitando.
Pronto!
Gostou do conteúdo? Deixa um comentário.
Além disso, acesse o código completo no GitHub.
Ficou curioso(a) e quer aprender mais sobre automação de testes com Cypress? Conheça meus cursos no Udemy.
- Cypress básico
- Cypress intermediário
- Cypress avançado
- Boas práticas em automação de testes com Cypress
- Testes end-to-end com Cypress
- Testes de regressão visual com Cypress e Percy (básico)
👋 Até a próxima e bons testes!
Um comentário em “Como “simular” um CTRL+V com Cypress”