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.


👋  Até a próxima e bons testes!

Um comentário em “Como “simular” um CTRL+V com Cypress

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s