Was eine WebView ist und wie man sie testet

Komfort ist etwas, mit dem wir nie ganz zufrieden sein können. Aus diesem Grund müssen Softwareentwickler immer an ihre Grenzen gehen, um eine bessere Benutzererfahrung zu schaffen, ohne dabei Kompromisse bei der Funktionalität einzugehen. Und das alles nur, um die Abwanderung in der heutigen wettbewerbsorientierten Wirtschaft zu verhindern. Die Menschen wollen Bequemlichkeit, und deshalb werden hybride Anwendungen begrüßt.

Was ist so einzigartig an hybriden Anwendungen? WebViews!

Hybridanwendungen

Wie der Name schon sagt, sind sie eine Mischung aus nativen und Webanwendungen. Sie stehen in Application Stores zum Download bereit und erfordern wie native Apps eine Zugriffsauthentifizierung vom Gerät aus, verfügen aber auch über einen in die Anwendung eingebetteten Browser (WebView) zum Rendern von HTML. Instagram ist ein gutes Beispiel für eine hybride Anwendung.

Erinnern Sie sich noch an die Zeit, als wir für den Zugriff auf einen Link eines Drittanbieters diesen in einem neuen Browser auf dem Gerät öffnen mussten, was dazu führte, dass wir uns von der Anwendung entfernten, die wir nutzen wollten? Das war eine Katastrophe für die Benutzerfreundlichkeit, die durch die Schaffung eines In-App-Browser-Fensters zur Erleichterung des Zugriffs auf Webseiten von Drittanbietern als Teil des Aktivitätslayouts behoben wurde. Hut ab vor WebViews!

Warum brauchen Sie WebViews?

  • Sie bieten eine bessere Kontrolle über die Benutzeroberfläche Ihrer Anwendung.
  • Sie müssen nicht die gesamte Anwendung aktualisieren, wenn Sie nur den Inhalt der Anwendung aktualisieren möchten, z. B. wenn Sie einen bevorstehenden Verkauf in Ihrer Anwendung oder ein anderes interessantes Angebot bekannt machen möchten.
  • Sie werden nicht zu einer anderen Anwendung eines Drittanbieters weitergeleitet, sondern zu einem In-App-Browser, der die Inhalte für Sie aus dem Internet abruft. Dies bietet den Komfort, in der vorgesehenen Anwendung zu bleiben. Wenn Sie zum Beispiel bei Instagram in einigen Stories nach oben wischen, werden Sie über einen In-App-Browser auf eine Webseite weitergeleitet, anstatt den Inhalt in Chrome, Safari, Firefox oder einem anderen Browser zu öffnen. Sie können auf der umgeleiteten Webseite frei durch den Inhalt navigieren, indem Sie nach oben/unten scrollen, vergrößern/verkleinern oder nach einem Text suchen.
  • WebViews ermöglichen eine plattformübergreifende Entwicklung, was zu geringeren Entwicklungskosten und Flexibilität für den Entwickler führt. Hinweis: Wir können jedoch nicht dafür sorgen, dass ein einziges Build einer Anwendung auf mehreren Betriebssystemen funktioniert. Wir können nur die Entwicklung eines anderen Builds mit Hilfe von Web-Erweiterungen durch HTML, CSS, JavaScript usw. erleichtern.
  • Unternehmen versuchen oft, eine Wrapper-Anwendung für eine bestehende Web-Anwendung zu entwickeln. Auf diese Weise wollen Unternehmen mit vergleichsweise geringem Aufwand eine Präsenz in den Application Stores schaffen. Außerdem ermöglichen Frameworks wie Ionic das Hinzufügen einer Anwendung zum App-Store und die Bereitstellung im mobilen Web als PWA.

Für die Erstellung einer WebView muss ein Entwickler:

  • eine Instanz einer webviewKlasse entwickeln.
  • einen Browser in seine Anwendung einbetten.
  • Hinzufügen von Browserfunktionalitäten mit Hilfe einer WebView-Bibliothek.
  • Hinzufügen von Internetzugriffsrechten in der Android-Manifest-Datei.
  • Hinzufügen des Codes für WebView, um einen In-App-Browser zu öffnen.

WebView-Testen – Bezieht sich auf das Erstellen und Ausführen von Testfällen zur Überprüfung der effektiven Arbeitsmechanismen von WebViews.

Beim Testen von WebViews ist Folgendes zu beachten:

  • Überprüfen Sie, ob die Anwendung entsprechend ihrem beabsichtigten Verhalten reagiert, indem Sie das Laden der Webseite unterbrechen.
  • Wenn Ihr Inhalt Hyperlinks zu E-Mail-Adressen in der WebView enthält, stellen Sie sicher, dass diese Hyperlinks die E-Mail-Anwendung auf Ihrem Gerät öffnen, wenn sie angetippt werden.
  • Prüfen Sie eine mit einem Hyperlink versehene Telefonnummer auf ähnliche Weise – wird der Benutzer zum Wählen der Anwendung weitergeleitet oder nicht? Wie reagiert der Hyperlink, wenn keine SIM-Karte im Gerät eingelegt ist?
  • Testen Sie die Reaktion von WebView in verschiedenen Netzmodi – 2G, 3G, WiFi, LTE.
  • Sonderzeichen sollten ebenfalls getestet werden. Neben dem Vergrößern/Verkleinern, dem Navigieren durch den Webinhalt durch Hoch-/Runterscrollen oder dem Navigieren auf dem Bildschirm durch Links-/Rechtsscrollen.
  • Testen Sie die Toleranz von WebView gegenüber externen Faktoren wie SMS, Signalabfall, Benachrichtigungen, Anrufen usw.
  • Testen Sie das Verhalten Ihrer Anwendung, wenn eine externe Anwendung über einen Hyperlink aus Ihrem Webinhalt gestartet wird.
  • Variieren Sie die Ausrichtung Ihres Geräts und testen Sie, ob Ihr Web-Inhalt diese unterstützt.
  • Testen Sie, ob die Grafikanzeige zufriedenstellend ist.
  • Komprimieren Sie das Browser-Fenster und prüfen Sie, ob der Text angemessen komprimiert wird.
  • Eine Cross-Browser-Plattform ist sehr hilfreich beim Testen der oben genannten Tipps. Sie wird auch einen Eindruck davon vermitteln, wie Ihre WebView bei der Zielgruppe ankommt.

Wie man WebView-Tests durchführt

Espresso Web für Android WebView – Dieses Tool hilft bei der Untersuchung und Kontrolle des Verhaltens von WebView-UI-Komponenten durch die Wiederverwendung von Atoms aus der WebDriver-API. Es ist eines der am häufigsten verwendeten Tools zum Testen hybrider Anwendungen. Es wird benötigt, um die Integration der nativen UI-Komponenten einer Anwendung und ihrer WebView UI-Komponenten zu prüfen.

Bevor Sie Espresso Web einsetzen, müssen Sie den Quellcode Ihrer Website gründlich analysieren, um Hooks für ihre Methoden zu bestimmen. Aus diesem Grund könnte es für große Websites sehr komplex werden.

Alternativer Ansatz

Ein anderer Ansatz würde bedeuten, den Code von Drittanbietern zu vergessen und sich nur auf den Android-basierten Code zu konzentrieren. Grundsätzlich bildet eine WebView Elemente einer Website ab und erlaubt dem Benutzer, mit ihnen über die Android-View-Objekte und ihre Erweiterungen zu interagieren. Diese Ansichten haben keine ID, so dass sie mit findViewById(int id) nicht zugänglich sind, und Sie können auch nicht auf diese IDs in Ihrem Anwendungspaket zugreifen.

Das bedeutet aber nicht, dass Sie sie nicht verfolgen können. Mit Hilfe von Android Device Monitor, einem eigenständigen Tool zur Bereitstellung einer Benutzeroberfläche, das mehrere Tools für die Analyse und das Debugging von Android-Anwendungen unterstützt, können Sie dies tun.

  • Mit Android Device Monitor müssen Sie einen Schnappschuss jedes Bildschirms auf dem Emulator machen.
  • Erhalten Sie eine Vorstellung davon, wie die WebViews intern strukturiert sind.
  • Mit Hilfe von UiAutomator können Sie Aktionen auf ihnen durchführen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.