O que é um WebView e como testá-lo

Conveniência é algo com o qual nunca podemos estar totalmente satisfeitos. É por isso que os programadores de software são sempre obrigados a ultrapassar os seus limites para criar uma melhor experiência para o utilizador, sem comprometer a funcionalidade. Tudo para salvar a agitação no negócio competitivo de hoje. As pessoas querem conveniência e é por isso que as aplicações híbridas têm sido bem-vindas.

O que há de tão único nas aplicações híbridas? WebViews!

Aplicações híbridas

Como o nome sugere, são uma mistura de Native e Web Applications. Estão disponíveis em lojas de aplicações para download e requerem autenticação de acesso a partir do dispositivo como aplicações nativas, mas também têm um browser incorporado na aplicação (WebView) para renderizar HTML. Instagram é um bom exemplo de uma aplicação híbrida.

Lembrar o tempo em que, para acessar qualquer link de terceiros, costumávamos abri-lo em um novo navegador no dispositivo, resultando em nos afastar da aplicação que queríamos usar? Isto foi um desastre para o UX, que foi resolvido com a criação de uma janela do navegador para facilitar as páginas web de terceiros como parte do layout da atividade. Kudos para WebViews!

Por que você precisa de WebViews?

  • Fornecem melhor controle sobre a UI da sua aplicação.
  • Você não precisa atualizar a aplicação inteira se você quiser apenas atualizar o conteúdo da aplicação, se, por exemplo, você deseja divulgar uma próxima venda na sua aplicação ou alguma outra oferta excitante.
  • Você não é empurrado para outra aplicação de terceiros, mas sim redirecionado para um navegador que puxa o conteúdo da web para você. Isto proporciona a conveniência de permanecer na aplicação pretendida. Por exemplo, o Instagram, no qual você precisa se infiltrar em algumas histórias e é redirecionado para uma página web através de um navegador de acesso, em vez de abrir o conteúdo no Chrome, Safari, Firefox ou qualquer outro navegador. Você pode navegar livremente pelo conteúdo na página redirecionada, rolando para cima/para baixo, fazendo zoom in/out ou pesquisando por um texto.
  • WebViews permitem o desenvolvimento entre plataformas, resultando em custo de desenvolvimento reduzido e flexibilidade para o desenvolvedor. Nota: Não podemos fazer um único build de uma aplicação para trabalhar em vários sistemas operacionais. Só podemos facilitar o desenvolvimento de outro build com a ajuda de extensões web através de HTML, CSS, JavaScript, etc.
  • As empresas frequentemente têm como objetivo construir uma aplicação wrapper de um aplicativo web existente. Ao fazer isso, as empresas visam criar uma presença nas lojas da aplicação com comparativamente menos esforço. Além disso, frameworks como o Ionic permitem adicionar um aplicativo à loja de aplicativos e implantar na web móvel como um PWA.

Para gerar um WebView, um desenvolvedor precisa de:

  • Desenvolver uma instância de um webview class.
  • Embutir um navegador em seu aplicativo.
  • Adicionar funcionalidades do navegador com a ajuda de uma biblioteca WebView.
  • Adicionar permissão de internet no arquivo Manifesto do Android.
  • Adicionar o código para o WebView para abrir um navegador em um navegador em um aplicativo.

WebView Testing – Refere-se à criação e execução de casos de teste para verificação dos mecanismos de funcionamento efetivo do WebViews.

Conteve uma nota sobre o seguinte durante o teste de WebViews:

  • Verifica se a aplicação está respondendo de acordo com seu comportamento pretendido, interrompendo a página Web do carregamento.
  • Se seu conteúdo estiver incluindo endereços de e-mail com hyperlink no WebView, verifique se esses hyperlinks estão abrindo o aplicativo de e-mail em seu dispositivo quando tocado.
  • Teste para um número de telefone com hyperlink de maneira semelhante – ele está ou não encaminhando o usuário para discar o aplicativo? Além disso, como é que esse hyperlink responde se um cartão SIM não está inserido no dispositivo?
  • Teste a resposta do WebView em diferentes modos de rede – 2G, 3G, WiFi, LTE.
  • Caracteres especiais também devem ser testados. Juntamente com o zoom in/out, navegue pelo conteúdo da web rolando para cima/baixo ou navegue na tela rolando para a esquerda/direita.
  • Teste a tolerância do WebView contra fatores externos como SMS, queda de sinal, notificações, chamadas, etc.
  • Teste o comportamento da sua aplicação quando uma aplicação externa é lançada através de um hyperlink do conteúdo da web.
  • Vary orientation of your device and test that your web content is able to support them.
  • Teste se a exibição gráfica é satisfatória.
  • Comprima a janela do navegador e veja se o texto está sendo comprimido apropriadamente.
  • Uma plataforma cross-browser será muito útil no teste das dicas acima mencionadas para testar. Ele também fornecerá uma idéia de como seu WebView está sendo retratado para o público-alvo.

Como realizar o teste WebView

Espresso Web for Android WebView – Essa ferramenta ajuda a examinar e controlar o comportamento dos componentes do WebView UI, reutilizando os átomos do WebDriver API. É uma das ferramentas mais comumente usadas para testar aplicações híbridas. É necessário verificar a Integração dos componentes de IU nativos de uma aplicação e seus componentes de IU WebView.

Antes de usar Espresso Web, você precisa analisar minuciosamente o código fonte do seu site para determinar os ganchos para seus métodos. É por isso que pode se tornar muito complexo para grandes websites.

Alternative Approach

Uma abordagem diferente envolveria esquecer o código de terceiros e focar apenas no código baseado no Android. Basicamente, um WebView mapeia elementos de um website; permitindo ao usuário interagir com eles através dos objetos do Android View e suas extensões. Essas visualizações não têm uma ID tornando-as inacessíveis com findViewById(int id), nem você pode acessar essas IDs no seu pacote de aplicação.

Isso não significa que você não possa rastreá-las. Você pode com a ajuda do Android Device Monitor, uma ferramenta autônoma para fornecer uma IU para auxiliar múltiplas ferramentas para análise e depuração de aplicativos Android.

  • Você precisa tirar uma foto de cada tela do emulador com o Android Device Monitor.
  • Tenha uma idéia de como os WebViews estão estruturados internamente.
  • Realizar ações neles com a ajuda do UiAutomator.

Deixe uma resposta

O seu endereço de email não será publicado.