Can I use Visual Studio to test a mobile application?

Mobilapptest: Fra Visual Studio til Android Studio

18/02/2022

Rating: 4.22 (6311 votes)

I den hastigt udviklende mobile verden er det afgørende at sikre, at dine applikationer fungerer fejlfrit på tværs af et utal af enheder, operativsystemer og skærmstørrelser. En robust teststrategi er ikke længere en luksus, men en absolut nødvendighed for at levere en problemfri brugeroplevelse og opretholde konkurrenceevnen. Denne artikel dykker ned i de forskellige metoder og værktøjer, der er tilgængelige for at teste mobilapplikationer, lige fra integration med Visual Studio til dybdegående fejlfinding på Android-enheder, kontrol af responsivitet i browsere og udnyttelse af Android Studios omfattende testfunktioner. Uanset om du er udvikler eller QA-ingeniør, vil du finde værdifuld indsigt i, hvordan du kan optimere din testproces og sikre, at dine mobilapps lever op til de højeste standarder.

How do I debug an app on an Android device?
To debug an app on an Android device: Plug the device into your machine and select it as a debug target in Visual Studio or Visual Studio Code. For information about selecting a debug target in Visual Studio, see Build your first app. For information about selecting a debug target in Visual Studio Code, see Build your first app.
Indholdsfortegnelse

Visual Studio og Mobiltest med Experitest SeeTest

Traditionelle mobile testløsninger tvinger ofte testere til at træffe et vanskeligt valg: Skal man indsætte afbrydelser på operativsystemniveau, hvilket potentielt kan maskere reelle problemer eller give falske positiver, eller skal man teste via instrumentering på applikationsniveau, hvilket kan begrænse adgangen til OS-specifikke tests som netværksafbrydelse eller enhedsrotation? Experitest tilbyder en elegant løsning med deres SeeTest-plugin til Visual Studio, der lader dig teste på begge måder og dermed giver en hidtil uset fleksibilitet.

SeeTest-pluginet gør det muligt at bruge Visual Studio (alle versioner) til at teste ægte fysiske smartphones, herunder iOS, Android, Blackberry, Windows Mobile (inkl. Windows 8) og Symbian. Dette fjerner behovet for specialiserede testmiljøer og samler din udvikling og test i én velkendt IDE.

Fordele ved Experitest SeeTest

  • Nem at bruge: SeeTest tilbyder en intuitiv "Record & Play"-funktionalitet, der automatisk genererer C#-kode (MSTest, NUnit) baseret på dine interaktioner med enheden. Dette gør det nemt selv for brugere med begrænset programmeringserfaring at oprette robuste tests.
  • Plug & Play-tilslutning: Enheder kan tilsluttes nemt via standard USB-kabel, WiFi eller via en cloud-konfiguration, hvilket giver stor fleksibilitet i testopsætningen.
  • Ingen jailbreak eller rooting: En af de mest markante fordele er, at SeeTest understøtter enheder "som de er" direkte fra butikken. Der kræves ingen jailbreak for iOS-enheder eller ingen rooting for Android-enheder, hvilket sikrer, at dine tests udføres på enheder i deres originale, uændrede tilstand.
  • Lav vedligeholdelse af tests: SeeTest identificerer objekter ved hjælp af fire robuste metoder, der bakker hinanden op: Native ID, Image Recognition, Text Recognition (OCR) og Web-DOM (HTML5). Dette minimerer vedligeholdelsen af tests, selvom UI'en ændrer sig, da der er flere måder at identificere elementer på.
  • Fuld integration med Visual Studio: Den genererede C#-kode kan nemt kopieres og indsættes direkte i Visual Studio, hvor du kan redigere, køre og se testresultaterne.
  • Bred enhedsunderstøttelse: SeeTest understøtter alle fysiske smartphones (alle softwareversioner, alle fysiske modeller, inklusive tablets) samt alle emulatorer, hvilket giver en uovertruffen dækning.

Sådan kommer du i gang med SeeTest i Visual Studio

  1. Download og installer: Hent den gratis prøveversion af SeeTest-pluginet fra Experitests hjemmeside.
  2. Tilslut enhed: Forbind den enhed, du vil teste, til din computer ved hjælp af et standard USB-kabel.
  3. Optag tests: Start optagelsen af dine tests. SeeTest vil automatisk generere et C#-script baseret på dine interaktioner.
  4. Integrer og kør: Kopier den genererede kode ind i Visual Studio. Herfra kan du redigere scriptet, køre testen og se resultaterne direkte i Visual Studio-miljøet.

Fejlfinding af Android-apps: Fra Enhed til Computer

Selvom emulatorer er fremragende til hurtig udvikling og indledende tests, er det afgørende at teste dine apps på en rigtig Android-enhed for at identificere potentielle problemer, der kun opstår i virkelige scenarier. Processen involverer aktivering af udviklertilstand, USB-fejlfinding og korrekt tilslutning af enheden til din computer, enten via USB eller WiFi.

Aktivering af Udviklertilstand på Android-enheden

For at kunne implementere og teste en Android-app skal udviklertilstand være aktiveret på enheden. Trinene er generiske og kan variere lidt afhængigt af din enheds brugergrænseflade:

  1. Gå til Indstillinger-skærmen.
  2. Vælg Om telefonen (eller lignende).
  3. Vælg Softwareinformation (hvis tilgængelig).
  4. Tryk på Build Number syv gange, indtil meddelelsen "Du er nu udvikler!" vises.

Aktivering af USB-fejlfinding

Efter at have aktiveret udviklertilstand skal du aktivere USB-fejlfinding:

  1. Gå til Indstillinger-skærmen.
  2. Vælg Udviklerindstillinger (denne mulighed vises nu).
  3. Slå USB-fejlfinding til.

Tilslutning af enheden til computeren via USB

Den mest pålidelige måde at tilslutte enheden på er via USB:

  1. Forbind enheden til din computer med et USB-kabel.
  2. Du vil sandsynligvis modtage en prompt på din enhed, der beder dig om at stole på computeren. Vælg "Tillad altid fra denne computer" for at undgå fremtidige prompter.
  3. Hvis din computer ikke genkender enheden, skal du muligvis installere en driver. Google USB Driver kan installeres via Android SDK Manager for Google-enheder, mens andre producenter leverer deres egne OEM USB-drivere.

Fejlfinding via WiFi (Trådløs fejlfinding)

Det er muligt at debugge en Android-enhed via WiFi, hvilket er praktisk, når enheden er for langt fra computeren til konstant at være tilsluttet via kabel. Både enheden og computeren skal være på det samme WiFi-netværk.

  1. Aktiver trådløs fejlfinding: Gå til Indstillinger > Udviklerindstillinger og slå Trådløs fejlfinding til.
  2. Find enhedens IP-adresse: Dette findes typisk under Indstillinger > Netværk og internet > Wi-Fi, tryk på det tilsluttede WiFi-netværk og derefter Avanceret eller Status under Om telefonen.
  3. Konfigurer ADB:
    • Åbn ADB kommandoprompt i Visual Studio (Værktøjer > Android > Android Adb Command Prompt...).
    • Fortæl enheden at lytte til TCP/IP-forbindelser på port 5555: adb tcpip 5555
    • Fjern USB-kablet fra enheden.
    • Forbind til enhedens IP-adresse med port 5555: adb connect [IP-adresse]:5555
    • For at skifte ADB tilbage til USB-tilstand: adb usb
    • For at se tilsluttede enheder: adb devices

Sådan fejlsøger du en app på en Android-enhed

Når enheden er korrekt opsat og tilsluttet:

  1. Tilslut enheden til din maskine.
  2. Vælg enheden som dit debug-mål i Visual Studio eller Visual Studio Code.
  3. Kør appen.

Test af mobilapps' responsivitet i Chrome

En almindelig udfordring for webudviklere er at sikre, at en webapplikation ser godt ud og fungerer korrekt på tværs af et bredt spektrum af skærmstørrelser, fra store desktop-skærme til små mobiltelefoner. Selvom det at ændre størrelsen på browservinduet på din bærbare computer kan give en grov idé om responsiviteten, er der en langt mere effektiv og præcis metode til at teste mobilapps' responsivitet direkte i Chrome: Chrome Developer Tools' Enhedstilstand.

Brug af Chrome Developer Tools' Enhedstilstand

Chrome Developer Tools (DevTools) indeholder en kraftfuld "Enhedstilstand" (Device Mode), der simulerer, hvordan din hjemmeside ser ud og opfører sig på forskellige mobile enheder. Dette giver dig mulighed for at teste layout, CSS, JavaScript og ydeevne under forskellige forhold, uden at skulle udgive ændringer til en live server hver gang.

What is Android Studio?
Android Studio is designed to make testing simple. It contains many features to simplify how you create, run, and analyze tests. You can set up tests that run on your local machine or instrumented tests that run on a device. You can easily run a single test or a specific group of tests on one or more devices.
  1. Åbn DevTools: Højreklik et sted på din webside og vælg "Inspicer" (Inspect), eller tryk på F12 (Windows/Linux) / Cmd + Opt + I (macOS).
  2. Aktiver Enhedstilstand: I DevTools-vinduet finder du et lille ikon, der ligner en mobiltelefon og en tablet. Klik på dette ikon for at slå Enhedstilstand til/fra. Alternativt kan du trykke på Ctrl + Shift + M (Windows/Linux) / Cmd + Shift + M (macOS).
  3. Vælg en enhed: Øverst i visningsområdet vil du se en rullemenu, der typisk viser "Responsive". Herfra kan du vælge en lang række foruddefinerede enheder (f.eks. iPhone X, Samsung Galaxy S20, iPad Pro) med deres specifikke opløsninger og pixel-forhold.
  4. Juster indstillinger: Du kan manuelt indstille bredde og højde, rotere skærmen (liggende/stående), justere pixel-forhold, og endda simulere langsomme netværksforbindelser (f.eks. 3G eller offline) for at teste ydeevne under forskellige forhold.
  5. Interager og debug: Du kan interagere med din app, som om den var på en rigtig enhed, og bruge de øvrige DevTools-funktioner (som konsol, elementinspektør, netværksmonitor) til at debugge specifikke problemer.

Denne metode er langt overlegen i forhold til blot at ændre størrelsen på browservinduet, da den simulerer enhedens specifikke egenskaber mere præcist, herunder viewportstørrelse, pixel-forhold og touch-events.

Android Studio: Dit Komplette Testmiljø

Android Studio er designet til at forenkle testprocessen for Android-apps. Det integrerer en bred vifte af funktioner, der strømliner oprettelse, kørsel og analyse af tests, uanset om de køres lokalt på din maskine eller som instrumenteringstests på en fysisk enhed eller emulator. Testresultater vises direkte i Android Studio, hvilket giver en hurtig og effektiv feedbackloop.

Testtyper og placeringer i Android Studio

Android Studio organiserer tests i specifikke kildemappe, baseret på deres type:

TesttypePlaceringKørselsmiljøAdgang til Android Framework API'erFormål
Lokale Enhedstests (Local Unit Tests)module-name/src/test/java/Lokal JVM (Java Virtual Machine)Begrænset (kræver testdoubles/mocks for Android-afhængigheder)Minimerer køretid, ideel til test af forretningslogik uden Android-afhængigheder.
Instrumenteringstests (Instrumentation Tests)module-name/src/androidTest/java/Emulator eller fysisk hardware-enhedFuld (har adgang til Instrumentation APIs, Context, osv.)UI-integrationstests, funktionelle tests, automatisering af brugerinteraktioner, tests med Android-afhængigheder.

Udover disse standardplaceringer kan du også oprette tests i bygg variant-specifikke mapper (f.eks. module-name/src/testMyFlavor/java/) for at målrette tests mod specifikke app-varianter.

Sådan opretter du nye tests

Android Studio gør det nemt at oprette nye testfiler:

  • Fra kildekode: Placer markøren på klassen eller metoden, du vil teste, og tryk på Ctrl + Shift + T (Cmd + Shift + T på macOS). Vælg "Create New Test", vælg JUnit4, konfigurer felter/metoder, og vælg derefter destinationsmappen (androidTest for instrumenteringstests, test for lokale enhedstests).
  • Generisk testfil: I "Project"-vinduet (venstre side), skift til "Android"-visning, højreklik på java-mappen under den ønskede testkildemappe (androidTest eller test), og vælg New > Java Class eller New > Kotlin Class/File.

Sådan kører du tests

Før du kører tests, skal du sikre dig, at dit projekt er fuldt synkroniseret med Gradle. Klik på "Sync Project"-knappen i værktøjslinjen.

  • Kør alle tests i en mappe eller fil: Højreklik på mappen eller filen i "Project"-vinduet og vælg "Run".
  • Kør alle tests i en specifik klasse eller metode: Åbn testfilen i kodeeditoren, og klik på "Run test"-ikonet i margen ved siden af klassen/metoden, eller højreklik på klassen/metoden og vælg "Run".

Instrumenteringstests vil automatisk blive kørt på en emulator eller en tilsluttet fysisk enhed.

Konfiguration af testkørsel og Gradle Test Runner

Som standard kører dine tests med Android Studios standardkørselskonfiguration. Du kan tilpasse indstillingerne, såsom instrumenteringsrunner og implementeringsindstillinger, i dialogboksen "Run/Debug Configurations" (Run > Edit Configurations).

How to test mobile app responsiveness in chrome?
Jerome You can use F12 option which have toggle device toolbar option in chrome. That would help you see the responsive respective design of your app in all the popular mobile devices chrome gives as an options to test on. plus you can use custom sizing to adjust width and height of the screen to manually check the responsivity.

Android Gradle Plugin 7.1.0 og Android Studio Bumblebee (og nyere) bruger en forenet Gradle Test Runner. Dette betyder, at testresultater er mere konsistente, uanset om du kører tests fra kommandolinjen (f.eks. på en CI-server) eller direkte fra Android Studio. Dette eliminerer uoverensstemmelser, der tidligere kunne opstå mellem forskellige testløbere.

Kørsel af tests på flere enheder samtidigt

For at se, hvordan dine instrumenteringstests opfører sig på et bredere sæt enheder, kan du køre dem parallelt på flere enheder:

  1. Før du kører tests, åbn rullemenuen for målenheden og vælg "Select Multiple Devices...".
  2. Vælg de ønskede målenheder, og klik på "OK".
  3. Sørg for, at teksten i målmenuen ændres til "Multiple Devices", og klik derefter på "Run".

"Test Matrix"-værktøjsvinduet viser testresultaterne for hver valgt enhedskonfiguration, hvilket giver et omfattende overblik over ydeevnen på tværs af forskellige enheder.

Kørsel af tests med Firebase Test Lab

Firebase Test Lab giver dig mulighed for at teste din app på mange populære Android-enheder og enhedskonfigurationer (lokalitet, orientering, skærmstørrelse, platformversion) samtidigt. Disse tests kører på fysiske og virtuelle enheder i Googles fjerndatacenter, hvilket giver dig adgang til en bred vifte af virkelige testmiljøer. Testresultater inkluderer testlogs og detaljer om eventuelle app-fejl.

For at komme i gang skal du have en Google-konto og oprette et Firebase-projekt. Android Studio har indbyggede værktøjer til at konfigurere implementering af tests til Firebase Test Lab:

  1. Gå til Run > Edit Configurations i hovedmenuen.
  2. Klik på "Add New Configuration" og vælg "Android Instrumented Tests".
  3. Indtast testdetaljer (navn, modul, testtype, testklasse).
  4. Under "Deployment Target Options" i rullemenuen "Target", vælg "Firebase Test Lab Device Matrix".
  5. Log ind med din Google-konto, hvis du ikke allerede er det.
  6. Vælg dit Firebase-projekt og konfigurer "Matrix Configuration" ved at vælge enheder, Android-versioner, lokaliteter og skærmorienteringer.
  7. Klik på "OK" og derefter "Run" for at starte testene.

Når Firebase Test Lab er færdig, vises resultaterne i "Run"-vinduet, og du kan analysere dem online via et link i testloggen.

Visning af testdækning og analyse af mislykkede tests

For lokale enhedstests kan du bruge værktøjet til testdækning til at spore procentdelen af din applikations kode, der er dækket af dine tests. Dette hjælper dig med at identificere områder, der kræver yderligere test. Kør tests med dækning ved at vælge "Run test-name with coverage" i stedet for blot "Run tests".

Når en eller flere tests mislykkes, viser "Run"-vinduet et advarselstegn og antallet af fejl. Ved at klikke på den mislykkede test i trævisningen til venstre, vises detaljer i resultatpanelet til højre. Dette inkluderer en sammenligning af den forventede værdi med den faktiske værdi, og et "Click to see difference"-link åbner en forskelsvisning for nem analyse.

How to create a mobile app in Visual Studio 2022?
Start by opening Visual Studio 2022 and selecting ‘Create a new project’. In the project templates, choose ‘Mobile App (Xamarin.Forms)’ if you aim to create a cross-platform application. This template simplifies the setup process by generating the necessary project structure for you.

Ofte Stillede Spørgsmål (FAQ)

Kan jeg teste iOS-apps med Visual Studio?

Ja, med Experitest SeeTest-pluginet kan du teste både iOS- og Android-apps direkte fra Visual Studio.

Skal jeg roote min Android-telefon for at debugge?

Nej, for standard debugging og test med værktøjer som Experitest SeeTest kræves der ingen rooting af din Android-telefon. Du skal dog aktivere Udviklertilstand og USB-fejlfinding i enhedens indstillinger.

Hvad er forskellen mellem lokale enhedstests og instrumenteringstests i Android Studio?

Lokale enhedstests kører på din lokale JVM og er hurtige, men har begrænset adgang til Android-frameworket. De er ideelle til at teste forretningslogik. Instrumenteringstests kører på en emulator eller fysisk enhed, er langsommere, men har fuld adgang til Android API'er og er bedst til UI-integration og funktionel test.

Hvordan får jeg adgang til Chrome Developer Tools' Enhedstilstand?

Du kan åbne Chrome Developer Tools ved at højreklikke på en webside og vælge "Inspicer" eller trykke på F12. Enhedstilstandsikonet ligner en mobiltelefon og en tablet og findes øverst i DevTools-vinduet. Klik på det, eller brug genvejstasten Ctrl + Shift + M.

Er Firebase Test Lab gratis at bruge?

Firebase Test Lab tilbyder forskellige brugsniveauer, herunder en gratis "Spark"-plan med en vis mængde gratis testminutter. For større testbehov kan der være omkostninger forbundet med brugen, som beskrevet i Firebase Test Labs prispolitik.

Konklusion

Mobilapptest er et komplekst, men uundværligt aspekt af moderne appudvikling. Fra den sømløse integration af Experitest SeeTest i Visual Studio, der revolutionerer test af fysiske enheder uden krav om jailbreak, til de dybdegående fejlfindingsmuligheder på Android via USB og WiFi, og videre til de avancerede testfunktioner i Android Studio, der omfatter lokale enhedstests, instrumenteringstests og integration med Firebase Test Lab – værktøjskassen er rig og mangfoldig. Ved at udnytte disse teknologier kan udviklere og QA-teams sikre, at deres mobilapplikationer ikke kun fungerer som forventet, men også leverer en enestående og fejlfri brugeroplevelse på tværs af hele det mobile økosystem. Investering i robust test sikrer appens succes og brugertilfredshed.

Hvis du vil læse andre artikler, der ligner Mobilapptest: Fra Visual Studio til Android Studio, kan du besøge kategorien Teknologi.

Go up