Hjem Sosiale medier Hvordan du tester din Android App ved hjelp av Espresso-dummies

Hvordan du tester din Android App ved hjelp av Espresso-dummies

Innholdsfortegnelse:

Video: Humans Need Not Apply 2024

Video: Humans Need Not Apply 2024
Anonim

Som utvikler vet du allerede viktigheten av å skrive tester for koden din. Dette er like sant for Android apputvikling som det er for enhver annen form for utvikling. Heldigvis gjør Android det enkelt å legge til tester i appen din.

Følgende informasjon vil ta deg gjennom grunnleggende om å legge til tester i Android-appen din med Espresso. Espresso er et bibliotek som leveres med Android SDK for å gjøre testing av Android-brukergrensesnitt enklere.

Bare vær sikker på at appen din bruker grad 2. 2. 1 eller nyere med Android-byggverktøy 21. 1. 2 eller nyere.

For å legge til en Espresso-test i appen din, må du:

  1. Endre byggeskriptet ditt

  2. Skriv testen

  3. Kjør testen

Slik endrer du byggingen

Åpne bygge. gradle fil for appen din. Hvis appen din har flere moduler, vil du åpne byggingen. gradle-filen i appmodulen din, ikke i rotamodulen. Så for Silent Mode Toggle app, ville du åpne SilentModeToggle / build. Gradle.

Legg til følgende avhengighet av avhengighetsdelen av byggingen din. gradle-fil:

avhengigheter {… // Test avhengigheter androidTestCompile ' com. android. Brukerstøtte. test. espresso: espressokjerne: 2. 0 ' }

Dette forteller at Android Studio skal inkludere Espresso-biblioteket i dine testavhengigheter. Espresso-biblioteket blir ikke bygd inn i apken du sender, men det vil bli inkludert i testappken din slik at testene dine kan bruke den.

Deretter legger du til følgende i standardkonfigurasjonen:

test løperen til bruk når kjører tester. testInstrumentationRunner " android. Support. Test. Runner. AndroidJUnitRunner

"

}

Dette forteller Android hvilken instrumentasjon som skal brukes til å kjøre testene dine. Du trenger ikke å vite mye om Instrumentasjonen, bortsett fra at dette er det du må bruke når du vil kjøre Espresso tester.

Det er alt du trenger å gjøre for å legge til støtte for Espresso. Deretter må du skrive den faktiske testen.

Slik skriver du testen

For å legge til en test for Android må du sørge for at du setter den på riktig sted. Åpne src-katalogen din i Android Studio, og opprett en ny katalog med navnet androidTest hvis den ikke allerede eksisterer. Inne i den katalogen, lag en katalog med navnet java.

I katalogen du nettopp opprettet, opprett en ny fil med navnet SilentModeToggleEspressoTest. java. Du kan faktisk navnet det uansett, bare sørg for at det avsluttes i "Test.java “.


Sett inn følgende i testfilen din:

offentlig klasse SilentModeToggleEspressoTest utvider ActivityInstrumentationTestCase2 {offentlig SilentModeToggleEspressoTest () {super (MainActivity. Class);}}

Dette skaper en ny klasse med navnet SilentModeToggleEspressoTest. Den utvider ActivityInstrumentationTestCase2, som du vil bruke til å skrive mesteparten av appens tester. ActivityInstrumentationTestCase2 er parameterisert på typen aktivitet du vil teste. For SilentModeToggle-appen kalles appens hovedaktivitet, passende nok, MainActivity.

Din testklasse må ha en standardkonstruktor, og i den vanlige konstruktøren vil du ringe superklasse-konstruktøren sammen med klassen av aktiviteten som testes. Det du har skrevet opp til nå, vil i utgangspunktet bli kopiert for hver Android-test du noensinne har skrevet.

Før du kan skrive din faktiske test, må du sette den opp. For å gjøre det, legg til følgende metode i testklassen din:

@Override public void setUp () kaster Unntak {super. SETUP (); getActivity ();}

For å teste en aktivitet ved hjelp av Espresso må du først opprette aktiviteten som testes. Dette gjøres ved å ringe getActivity (), som lager og lanserer aktiviteten for deg hvis den ikke allerede eksisterer. Du gjør dette over i setUp () -metoden for klassen, som kjøres før hver av testene dine kjøres.

Nå, til slutt, kan du skrive testen din. Legg til følgende metode i klassen din:

public void testPhoneIconIsDisplayed () {// Når phone_icon-visningen er tilgjengelig, / / ​​kontroller at den vises. onView (medId (R.ID.phone_icon)). sjekk (kamper (isDisplayed ()));}

Du må importere onView, medId, sjekk, samsvarer og erDisplayed metoder. Android Studio tilbyr deg den nødvendige statiske importen.

Espressotester er designet for å være veldig lett å lese. Som du kan se her, venter denne testen til visningen med ID R. id. phone_icon er tilgjengelig, og når det er, kontrollerer det at visningen vises.

Det neste trinnet er å kjøre testen.

Slik kjører du testen

Først starter du en emulator eller kobler telefonen til datamaskinen via USB.

Når enheten er koblet til og kjører, høyreklikker du på java-katalogen under androidTest, og velger deretter Kjør alle test (med Android-ikonet):

Hvis testen kjører, bør du se noe som følger:

Hvorfor er testene viktige?

Hvorfor gå gjennom all denne innsatsen bare for å legge til en enkel test? Du kan kanskje tro at det ikke synes å være verdt å teste en slik grunnleggende funksjonalitet.

Tilleggsprogrammet Stille modus er enkelt nok til at kanskje en lat programmerer kan rettferdiggjøre hoppetester. Kan være.

Hvis du legger til et par tester for å legge til, fjerne og redigere oppgaver i den appen, har du ro på å vite at når du gjør en endring, vil de automatiske testene få noen signifikante feil som du introduserer.

Vil du virkelig omprøve all appens funksjonalitet på telefoner, tabletter, klokker og TVer, og gjør det igjen på eldre enheter for å teste bakoverkompatibilitet?Å legge til tester kan ta vare på mye av det vanskeligste for deg.

Om Espresso-tester

Espressotester skrives med følgende format:

onView (Matcher). utføre (ViewAction). sjekk (ViewAssertion)

Følgende cheatark, med tak i Espresso 2.0-prosjektet, er et nyttig verktøy for å skrive Espresso-tester. Den viser den generelle syntaksen for Espresso-tester, og den viser også de vanligste typer matchere: ViewAction og ViewAssertion.

En rask måte å skrive Espresso-tester på, er å utnytte Android Studios autofullføringsfunksjonalitet. Hvis du vet at de fleste matchere er i ViewMatchers-klassen, er de fleste sehandlinger i ViewActions, og de fleste se påstandene er i ViewAssertions, og du kan bruke autofullfør for å finne riktig matcher:

La oss legge til en ny Så med Det i tankene, la oss legge til en ny test. Legg linjene i fet skrift til testklassen din: offentlig klasse SilentModeToggleEspressoTest utvider ActivityInstrumentationTestCase2 { AudioManager audioManager; … @ Overstyr offentleg tomgang setUp () kaster Unntak {super. SETUP (); Aktivitet aktivitet = getActivity (); // Hente en Lydbehandling i i aktivitet Lydbehandling = (Lydbehandling) aktivitet. getSystemService (Kontekst. AUDIO_SERVICE); // Kontroller sikkert i ringe modus er null til normal Lydbehandling. setRingerMode ( AudioManager. RINGER_MODE_NORMAL); } … offentlig void testCanToggleIcon () { // Når i phone_icon vis er > tilgjengelig, klikk det onView (medId (R.ID.phone_icon)). utføre (klikk ()); // Så hevde som i telefon er nå i taus modus. assertTrue (RingerHelper. IsPhoneSilent (audioManager)); }

}

Denne testen finner bryteknappen og klikker den, og bekrefter at appens lydmodus ble slått på. SetUp () -koden sikrer at ringemodus tilbakestilles til normal før testen kjøres. Nå, når du endrer appen din, trenger du bare å kjøre disse test sakene for å få tilliten til at du ikke har ødelagt noe viktig.

Hvis du har en kontinuerlig integrasjonsserver, trenger du bare å kjøre det tilkoblede Check-målet i gradle for å kjøre testsakene dine med hver forpliktelse du gjør. Hvis du ikke har en kontinuerlig integrasjonsserver ennå, er det kanskje godt å se på en! Sjekk ut travis-ci. org for et godt alternativ.

Testing av apper på Android er et dypt og involvert emne, men nå bør du ha alt du trenger for å komme i gang med å teste appene dine!

  • Hvis du har lyst til å bli mer avansert, kan du være interessert i noen av følgende ressurser:

  • Bruk skjeen til å teste på flere enheter.

  • Prøv Gaffel for å kjøre tester raskt over flere enheter.

  • Prøv travis-ci eller Jenkins for en kontinuerlig integrasjonsserver.

Se Michael Bailey's introduksjon til Android Testing på YouTube.

Hvordan du tester din Android App ved hjelp av Espresso-dummies

Redaktørens valg

Bruk skjermfeltet til å endre QuickBooks 2014 Rapporter - dummies

Bruk skjermfeltet til å endre QuickBooks 2014 Rapporter - dummies

Skjermbildet i QuickBooks Modify Report dialogboksen lar deg kontrollere rapportintervalldatoen, rapportgrunnlaget, kolonnene og en annen formatering. Bokstavene Rapporter datoområde - Datoer, Fra og Til - gjør det samme som Datoer, Fra og Til bokser i Rapportvinduet. Disse boksene lar ...

Bruk skjermfeltet til å modifisere QuickBooks 2013 Rapporter - dummies

Bruk skjermfeltet til å modifisere QuickBooks 2013 Rapporter - dummies

Hvis du klikker Tilpass rapport, QuickBooks viser dialogboksen Endre rapport, som du kan bruke til å tilpasse en rapport. Når du tilpasser en rapport, endrer du rapportens utseende, layout og informasjonen som den oppsummerer. Dialogboksen Endre rapport ser annerledes ut for ulike rapporttyper. Likevel, hvis du ser forbi ...

Bruk fanen Filtre til å modifisere QuickBooks 2014 Rapporter - dummies

Bruk fanen Filtre til å modifisere QuickBooks 2014 Rapporter - dummies

Filtrene kategorien er trolig den mest interessante og en nyttig kategori som er levert av dialogboksen QuickBooks Modify Report. Filtre-fanen lar deg sette opp filtre som du kan bruke til å angi hvilken informasjon som oppsummeres i rapporten. For å bruke Filtrer-fanen velger du først feltet du vil ha ...

Redaktørens valg

Administrere Cloud Computing Resources - dummies

Administrere Cloud Computing Resources - dummies

I teorien bør cloud computing-tjenester ikke være forskjellig fra ressursene i din eget miljø, bortsett fra at de bor eksternt. Ideelt sett har du en komplett visning av cloud computing-ressursene du bruker i dag, eller vil kanskje bruke i fremtiden. I de fleste skymiljøer kan kunden bare få tilgang til ...

Tips for Going Cloud med datanettverkene dine - dummies

Tips for Going Cloud med datanettverkene dine - dummies

Beregning med datanettverket ditt kan være, hva skal du gjøre for å ta nettverket ditt mot skyen? Her er noen anbefalinger: Ikke stole på en dårlig Internett-tilkobling. Først og fremst, før du tar noen av nettverksoperasjonene i skyen, gjør du ...

Nettverkstjenester levert gjennom Cloud Computing - dummies

Nettverkstjenester levert gjennom Cloud Computing - dummies

Tre forskjellige typer nettverkstjenester kan leveres via skyen: applikasjoner , plattformer og tjenester (infrastruktur). I de følgende avsnittene beskrives disse tre typer skyttjenester i større detalj. Programmer i skyen Vanligvis kalt Software as a Service (SaaS), fullt funksjonelle applikasjoner kan leveres via skyen. En av ...

Redaktørens valg

10 Hadoop Ressurser verdt en bokmerke - dummies

10 Hadoop Ressurser verdt en bokmerke - dummies

Følgende er ti fantastiske Hadoop-ressurser som er verdige til å skape en bokmerke i nettleseren din. Disse ressursene hjelper deg med å skape en livslang læringsplan for Hadoop. Sentralnervesystemet: Apache. org Apache Software Foundation (ASF) er det sentrale fellesskapet for open source-programvareprosjekter. Ikke bare et prosjekt kan være et Apache-prosjekt - ...

Data transformasjon i Hadoop - dummies

Data transformasjon i Hadoop - dummies

Ideen om Hadoop-inspirerte ETL motorer har fått mye trekkraft de siste årene. Hadoop er trods alt en fleksibel datalagrings- og behandlingsplattform som kan støtte store mengder data og operasjoner på dataene. Samtidig er det feiltolerant, og det gir mulighet for kapital- og programvarekostnad ...

Datablokker i Hadoop Distributed File System (HDFS) - dummier

Datablokker i Hadoop Distributed File System (HDFS) - dummier

Når du lagrer en fil i HDFS, bryter systemet det ned i et sett med individuelle blokker og lagrer disse blokkene i forskjellige slave noder i Hadoop-klyngen. Dette er en helt vanlig ting å gjøre, da alle filsystemer bryter filer ned i blokker før de lagres til disk. HDFS har ingen ...