Como testar seus React-Native WebViews com Detox

Você pode finalmente escrever testes ponta a ponta para seus WebViews usando Detox!

… Bem, pelo menos no Android.

No momento, iOS não é compatível. No entanto, é provável que isso mude no futuro. Além disso, embora exista funcionalidade para teste no Android, os documentos do Detox não foram oficialmente atualizados para incluir testes de webview. Isso sugere que o trabalho pode ser contínuo e bastante silencioso .

Independentemente disso, ser capaz de testar webviews no Android continua sendo um grande salto para o tipo de desenvolvedor!

Como adicionar um WebView ao seu aplicativo

Para incluir um WebView, adicione o react-native-webviewpacote como uma dependência ao seu package.json. Importe o WebViewcomponente e passe a ele uma fonte conforme mostrado abaixo.

Certifique-se de incluir um testIDem seu WebView para que ele possa ser encontrado por desintoxicação quando você executar seu teste.

Como escrever um teste para o webview

Para este exemplo, estamos usando a página de login do Twitter. Gostaríamos de permitir que o usuário:

  • Digite um nome de usuário
  • Digite uma senha
  • E clique no botão Login

Às vezes, leva um tempo para um webview carregar, então pode ser útil adicionar um atraso para garantir que ele termine de carregar antes de executar os testes.

Como visto a seguir, podemos usar o objeto da web do Detox para interagir com a visualização e fazer afirmações sobre os elementos localizados.

Localizando elementos DOM:

A web do Detox baseia-se no Expresso-Web do Android e fornece uma lista de funções para selecionar elementos DOM.

  • id - encontra um elemento na árvore DOM por seu id
  • text - encontra um elemento na árvore DOM por sua classe CSS
  • cssSelector - encontra um elemento na árvore DOM correspondente ao seletor CSS fornecido
  • name - encontra um elemento na árvore DOM por seu atributo “nome”
  • xpath - encontra um elemento na árvore DOM por seu XPath
  • href- encontra um <a>elemento na árvore DOM por seu texto de link
  • hrefContent- encontra um <a>elemento na árvore DOM por meio de seu texto de link parcial
  • tag - encontra um elemento na árvore DOM por seu nome de tag

Depois de localizar seu elemento, você pode simular a interação do usuário com os seguintes métodos autoexplicativos:

  • tap
  • typeText
  • getText
  • clearText
  • replaceText
  • scrollToView
  • getCurrentUrl
  • getTitle
  • runScript
  • runScriptWithArgs

O Detox Web também vem com um divertido conjunto de combinações:

  • toExist()
  • toNotExist()
  • toHaveText()
  • toNotHaveText()

As possibilidades são infinitas!

Suggested posts

Evitando as consequências devastadoras de um derrame: aprendendo com a jornada de uma família.

Evitando as consequências devastadoras de um derrame: aprendendo com a jornada de uma família.

Introdução O AVC é uma emergência médica que pode atingir qualquer pessoa a qualquer momento. Ocorre quando o fluxo sanguíneo para uma parte do cérebro é interrompido, levando a uma perda repentina da função cerebral.

Migrar do Dagger2 para o Hilt em um projeto multimódulo

Migrar do Dagger2 para o Hilt em um projeto multimódulo

Um guia passo a passo para migrar do Dagger para o Hilt em um projeto de vários módulos. Estrutura do Projeto Para visualizar o projeto, ele contém vários módulos NetworkModule, StorageModule, CommonModule, FeatureModule etc.

Related posts

O que você pode fazer em sua temporada de espera (esperando para conseguir seu primeiro emprego em tecnologia)

O que você pode fazer em sua temporada de espera (esperando para conseguir seu primeiro emprego em tecnologia)

Mudar para uma nova carreira pode ser extremamente desafiador se você tentar fazer isso sozinho. É importante encontrar parceiros de responsabilidade que estejam no mesmo nível de aprendizado que você, que compartilhem objetivos, tenacidade e motivação semelhantes.

A performance solo da garota ruiva

A pedido de Hayden, Katie se filma se masturbando.

A performance solo da garota ruiva

Passava da meia-noite quando Hayden levou Katie de volta ao dormitório da faculdade depois da noite juntos. Ela tinha aula cedo de manhã e não tinha outra troca de roupa depois de ter ficado com ele na noite anterior.

Rede de TV Twitter

Rede de TV Twitter

O que é velho agora é novo de novo e o que costumava ser a coisa brilhante e brilhante agora parece opaco. Não estou falando de jeans JNCO fazendo um retorno entre os garotos legais do centro da cidade junto com outras modas do final dos anos 1990.

Por que alguns freelancers estão fingindo suas vidas

Por que alguns freelancers estão fingindo suas vidas

Estive recentemente no Linkedin, a maior rede social profissional do mundo, e encontrei postagens de designers freelancers que sigo que me chamaram a atenção. Todos postaram fotos de aviões, na praia com seus laptops, de piscinas e escritórios com vistas incríveis.