Hvad et WebView er og hvordan man tester det

Behaglighed er noget, som vi aldrig kan være helt tilfredse med. Det er derfor, at softwareudviklere altid er nødt til at skubbe deres grænser for at skabe en bedre brugeroplevelse uden at gå på kompromis med funktionaliteten. Alt sammen af hensyn til at redde churn i dagens konkurrenceprægede forretning. Folk vil have bekvemmelighed, og derfor er hybridapplikationer blevet hilst velkommen.

Hvad er så unikt ved hybridapplikationer? WebViews!

Hybridapplikationer

Som navnet antyder, er de en blanding af Native- og webapplikationer. De er tilgængelige i applikationsbutikker til download og kræver adgangsautentifikation fra enheden ligesom native apps, men de har også en browser, der er indlejret i applikationen (WebView) til rendering af HTML. Instagram er et godt eksempel på en hybridapplikation.

Huskede du dengang, hvor vi for at få adgang til et link fra en tredjepart skulle åbne det i en ny browser på enheden, hvilket resulterede i, at vi flyttede os ud af den applikation, vi ønskede at bruge? Dette var en katastrofe for UX, som blev løst ved at oprette et browservindue i applikationen til at lette tredjepartswebsider som en del af aktivitetslayoutet. Kudos til WebViews!

Hvorfor har du brug for WebViews?

  • De giver bedre kontrol over din applikations UI.
  • Du behøver ikke at opdatere hele applikationen, hvis du blot ønsker at opdatere appens indhold, hvis du f.eks. ønsker at annoncere et kommende udsalg på din applikation eller et andet spændende tilbud.
  • Du bliver ikke skubbet over på en anden tredjepartsapplikation, men bliver i stedet omdirigeret til en browser i appen, der henter indholdet fra nettet for dig. Dette giver dig den bekvemmelighed, at du bliver i den tiltænkte applikation. Tag for eksempel Instagram, hvor du skal stryge opad i nogle historier, og du bliver omdirigeret til en webside via en browser i appen i stedet for at åbne indholdet i Chrome, Safari, Firefox eller en anden browser. Du kan navigere frit i indholdet på den omdirigerede webside ved at rulle op/ned, zoome ind/ud eller søge efter en tekst.
  • WebViews muliggør udvikling på tværs af platforme, hvilket resulterer i lavere udviklingsomkostninger og fleksibilitet for udvikleren. Bemærk: Vi kan dog ikke få et enkelt build af et program til at fungere på flere operativsystemer. Vi kan kun lette udviklingen af et andet build ved hjælp af webudvidelser ved hjælp af HTML, CSS, JavaScript osv.
  • Firksomheder har ofte til formål at bygge en wrapper-applikation af en eksisterende webapplikation. Ved at gøre dette sigter virksomhederne mod at skabe en tilstedeværelse i applikationsbutikkerne med forholdsvis mindre indsats. Desuden giver frameworks som Ionic mulighed for at tilføje en applikation til app-butikken og udrulle til det mobile web som en PWA.

For at generere et webView skal en udvikler:

  • Udvikle en instans af en webview klasse.
  • Indbygge en browser i din applikation.
  • Føje browserfunktionaliteter til ved hjælp af et WebView-bibliotek.
  • Føje internettilladelse til i Android Manifest-filen.
  • Føje koden til WebView til at åbne en browser i appen.

WebView-testning – henviser til oprettelse og udførelse af testcases til kontrol af WebViews effektive funktionsmekanismer.

Hold øje med følgende, mens du tester WebViews:

  • Verificer, om applikationen reagerer i overensstemmelse med den tilsigtede adfærd ved at afbryde indlæsningen af websiden.
  • Hvis dit indhold indeholder e-mailadresser med hyperlinks i WebView’et, skal du sikre dig, at disse hyperlinks åbner mailprogrammet i enheden, når der trykkes på dem.
  • Test for et hyperlinket telefonnummer på samme måde – dirigerer det brugeren til at ringe til appen eller ej? Hvordan reagerer hyperlinket også, hvis der ikke er indsat et SIM-kort i enheden?
  • Test webView’s reaktion i forskellige netværkstilstande – 2G, 3G, WiFi, LTE.
  • Særtegn bør også testes. Sammen med zoom ind/ud, navigation gennem webindholdet ved at rulle op/ned eller navigere på skærmen ved at rulle til venstre/højre.
  • Test WebView’s tolerance over for eksterne faktorer som SMS, signalfald, notifikationer, opkald osv.
  • Test din applikations opførsel, når en ekstern applikation startes via et hyperlink fra dit webindhold.
  • Variér enhedens orientering, og test, om dit webindhold er i stand til at understøtte dem.
  • Test, om den grafiske visning er tilfredsstillende.
  • Komprimer browservinduet, og se, om teksten komprimeres korrekt.
  • En platform på tværs af browsere vil være meget nyttig til at teste de ovennævnte tips til test. Det vil også give en idé om, hvordan dit WebView bliver portrætteret til målgruppen.

Sådan udfører du WebView-testning

Espresso Web for Android WebView – Dette værktøj hjælper med at undersøge og kontrollere adfærden af WebView UI-komponenter ved at genbruge Atoms fra WebDriver API’et. Det er et af de mest almindeligt anvendte værktøjer til test af hybride applikationer. Det er nødvendigt for at kontrollere integrationen af en applikations native UI-komponenter og dens WebView UI-komponenter.

Hvor du bruger Espresso Web, skal du grundigt analysere kildekoden til dit websted for at bestemme hooks til dets metoder. Derfor kan det blive meget komplekst for store websteder.

Alternativ tilgang

En anden tilgang ville indebære, at man glemmer tredjepartskoden og kun fokuserer på den Android-baserede kode. Grundlæggende kortlægger et WebView elementer på et websted; det giver brugeren mulighed for at interagere med dem via Android View-objekter og deres udvidelser. Disse visninger har ikke et ID, hvilket gør dem utilgængelige med findViewById(int id), og du kan heller ikke få adgang til disse ID’er i din programpakke.

Det betyder ikke, at du ikke kan spore dem. Det kan du med hjælp fra Android Device Monitor, et selvstændigt værktøj til at levere en brugergrænseflade til hjælp for flere værktøjer til analyse og fejlfinding af Android-applikationer.

  • Du skal tage et snapshot af hver skærm på emulatoren med Android Device Monitor.
  • Få en idé om, hvordan WebViews er internt struktureret.
  • Udfør handlinger på dem ved hjælp af UiAutomator.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.