Czym jest WebView i jak go przetestować

Wygoda jest czymś, z czego nigdy nie możemy być w pełni zadowoleni. Dlatego właśnie twórcy oprogramowania są zawsze zmuszeni do przesuwania granic, aby stworzyć lepsze wrażenia użytkownika, bez kompromisu dla funkcjonalności. Wszystko w imię oszczędzania churn w dzisiejszym konkurencyjnym biznesie. Ludzie chcą wygody i dlatego aplikacje hybrydowe zostały przyjęte z zadowoleniem.

Co jest tak wyjątkowego w aplikacjach hybrydowych? WebViews!

Aplikacje hybrydowe

Jak sama nazwa wskazuje, są one mieszanką Native i Web Applications. Są one dostępne w sklepach z aplikacjami do pobrania i wymagają uwierzytelnienia dostępu z urządzenia jak aplikacje natywne, ale mają również przeglądarkę osadzoną w aplikacji (WebView) do renderowania HTML. Instagram jest dobrym przykładem aplikacji hybrydowej.

Pamiętasz czasy, kiedy aby uzyskać dostęp do dowolnego linku strony trzeciej, zwykliśmy otwierać go w nowej przeglądarce na urządzeniu, co skutkowało wyprowadzeniem nas z aplikacji, z której chcieliśmy skorzystać? To była katastrofa dla UX, która została rozwiązana przez stworzenie okna przeglądarki in-app dla ułatwienia stron internetowych osób trzecich jako część układu aktywności. Kudos to WebViews!

Dlaczego potrzebujesz WebViews?

  • Zapewniają lepszą kontrolę nad UI twojej aplikacji.
  • Nie musisz aktualizować całej aplikacji, jeśli chcesz tylko zaktualizować zawartość aplikacji, jeśli, na przykład, chcesz upublicznić nadchodzącą sprzedaż w swojej aplikacji lub jakąś inną ekscytującą ofertę.
  • Nie zostaniesz popchnięty do innej aplikacji innej firmy, ale raczej zostaniesz przekierowany do przeglądarki w aplikacji, która pobiera zawartość z sieci dla Ciebie. Zapewnia to wygodę pozostania w zamierzonej aplikacji. Weźmy na przykład Instagram, gdzie trzeba przesunąć w górę w niektórych historiach i jesteś przekierowany na stronę internetową za pośrednictwem przeglądarki w aplikacji, zamiast otwierać zawartość w Chrome, Safari, Firefox, lub jakiejkolwiek innej przeglądarki. Możesz swobodnie poruszać się po treści na przekierowanej stronie internetowej, przewijając w górę/dół, powiększając/zmniejszając lub wyszukując tekst.
  • WebViews pozwalają na rozwój międzyplatformowy, co skutkuje zmniejszeniem kosztów rozwoju i elastycznością dla dewelopera. Uwaga: Nie możemy jednak sprawić, by pojedynczy build aplikacji działał na wielu systemach operacyjnych. Możemy tylko ułatwić rozwój innego budynku z pomocą rozszerzeń internetowych poprzez HTML, CSS, JavaScript, itp.
  • Firmy często mają na celu zbudowanie aplikacji wrapper istniejącej aplikacji internetowej. Czyniąc to, firmy mają na celu stworzenie obecności w sklepach z aplikacjami przy stosunkowo mniejszym wysiłku. Ponadto, frameworki takie jak Ionic pozwalają na dodanie aplikacji do sklepu z aplikacjami i wdrożenie jej do mobilnej sieci jako PWA.

Dla wygenerowania WebView, programista musi:

  • Opracować instancję klasy webview.
  • Wbudować przeglądarkę w swojej aplikacji.
  • Dodaj funkcjonalności przeglądarki za pomocą biblioteki WebView.
  • Dodaj uprawnienia internetowe w pliku Android Manifest.
  • Dodaj kod dla WebView, aby otworzyć przeglądarkę in-app.

Testowanie WebView – Odnosi się do tworzenia i wykonywania przypadków testowych w celu sprawdzenia efektywnie działających mechanizmów WebView.

Pamiętaj o następujących rzeczach podczas testowania WebViews:

  • Sprawdź czy aplikacja reaguje zgodnie z zamierzonym zachowaniem poprzez przerwanie ładowania strony internetowej.
  • Jeśli treść zawiera hiperłącza do adresów e-mail w WebView, upewnij się, że te hiperłącza otwierają aplikację pocztową w urządzeniu po ich dotknięciu.
  • W podobny sposób przetestuj hiperłącze do numeru telefonu – czy kieruje ono użytkownika do aplikacji, czy nie? Ponadto, jak reaguje hiperłącze, jeśli karta SIM nie jest włożona do urządzenia?
  • Testuj reakcję WebView w różnych trybach sieci – 2G, 3G, WiFi, LTE.
  • Specjalne znaki powinny być również testowane. Wraz z powiększaniem/zmniejszaniem, nawigacją po zawartości strony internetowej poprzez przewijanie w górę/dół lub nawigacją po ekranie poprzez przewijanie w lewo/prawo.
  • Sprawdź tolerancję WebView na czynniki zewnętrzne takie jak SMS, spadek sygnału, powiadomienia, połączenia, itp.
  • Sprawdź zachowanie twojej aplikacji, gdy zewnętrzna aplikacja jest uruchamiana poprzez hiperłącze z twojej zawartości strony internetowej.
  • Zmień orientację swojego urządzenia i przetestuj, czy Twoja zawartość strony internetowej jest w stanie je obsłużyć.
  • Testuj, czy wyświetlanie grafiki jest zadowalające.
  • Kompresuj okno przeglądarki i sprawdź, czy tekst jest odpowiednio kompresowany.
  • Platforma cross-browser będzie bardzo pomocna w testowaniu wyżej wymienionych wskazówek do testowania. Pozwoli to również zorientować się, jak Twój WebView jest przedstawiany docelowym odbiorcom.

Jak przeprowadzić testy WebView

Espresso Web for Android WebView – To narzędzie pomaga w badaniu i kontrolowaniu zachowania komponentów WebView UI poprzez ponowne wykorzystanie atomów z API WebDriver. Jest to jedno z najczęściej używanych narzędzi do testowania aplikacji hybrydowych. Jest wymagane do sprawdzenia integracji natywnych komponentów UI aplikacji i jej komponentów UI WebView.

Przed użyciem Espresso Web, musisz dokładnie przeanalizować kod źródłowy swojej strony internetowej w celu określenia haków dla jej metod. Z tego powodu może to stać się bardzo skomplikowane dla dużych stron internetowych.

Alternatywne podejście

Inne podejście polegałoby na zapomnieniu kodu stron trzecich i skupieniu się tylko na kodzie opartym na Androidzie. Zasadniczo, WebView mapuje elementy strony internetowej; pozwalając użytkownikowi na interakcję z nimi poprzez obiekty widoku Androida i ich rozszerzenia. Te widoki nie mają identyfikatora, co czyni je niedostępnymi za pomocą findViewById(int id), ani nie można uzyskać dostępu do tych identyfikatorów w pakiecie aplikacji.

To nie znaczy, że nie można ich śledzić. Możesz z pomocą Android Device Monitor, samodzielne narzędzie do dostarczania UI do pomocy wielu narzędzi do analizy i debugowania aplikacji Android.

  • Musisz zrobić zrzut każdego ekranu na emulatorze z Android Device Monitor.
  • Zorientuj się, jak WebViews są wewnętrznie zorganizowane.
  • Wykonaj działania na nich z pomocą UiAutomator.

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.