, automatisering af brugergrænsefladen forsøg på androide,,,,, 31,,,,,,,,, 5,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss.,, indledningen, androide tester støtte bibliotek omfatter , eu - erhvervsgrenen automator ramme, der kan benyttes til at foretage elektronisk sort boks forsøg på androide apps.indført i api - niveau 18, rammer giver entreprenører for at simulere bruger aktioner på widgets, der udgør en app 's brugergrænseflade.,,, på det pædagogiske, jeg vil vise dig, hvordan man bruger den ramme for at oprette og drive en grundlæggende brugergrænseflade test for misligholdelse lommeregner app.,,, forudsætninger,,, for at følge med, du har brug for:,,, det seneste bygge af androide studie, en anordning eller emulator løber androide. 3 eller højere, en grundlæggende forståelse af junit,,, 1.installation af afhængighed, for at bruge eu - erhvervsgrenen automator ramme i deres projekt, redigere, build.gradle, journal på dit projekt er, at app, fortegnelse, at tilføje følgende områder:,, androidtestcompile kom. androide. støtte. test: løber: 0,2 "androidtestcompile kom. androide. støtte. test: regler: 0,2" androidtestcompile kom. androide. støtte. test. uiautomator: uiautomator-v18:2.1.0,,, jeg nu skal være på skærmen nu.når du klik, skulle du se en fejl, der ser sådan ud:,,,,, klik, installere register og sync projekt, link til at installere, androide støtte register,.,,, hvis du bruger den, appcompat-v7, bibliotek og sin version er, 22.1.1, du er nødt til at tilføje følgende afhængighed for at sikre både app og prøvning app anvender samme udgave af, kom. - androiden. støtte: støtte bemærkninger:,,, androidtestcompile kom. androide. støtte: støtte kommentarer: 22.1.1, dernæst som følge af en fejl i androide studie, er du nødt til at udelukke en fil ved navn, license.txt ved hjælp af, packagingoptions,.hvis man ikke gør det, vil føre til, at følgende fejl, når du prøver at køre en test:,, henrettelse ikke til opgave: app: packagedebugandroidtest ".to eksemplarer filerne kopieret i apk - license.txt fil 1: ~ /. gradle /depoter /modules-2 /files-2.1/org.hamcrest/hamcrest-core/1.1/860340562250678d1a344907ac75754e259cdb14/hamcrest-core-1.1.jar fil 2: ~ /. gradle /depoter /modules-2 /files-2.1 /junit /junit dep /45 /64417b3bafdecd366afa514bd5beeae6c1f85ece /junit-dep-4.10. glas, tilføje følgende indlæg på bunden af din bygning. gradle, fil:, (packagingoptions {udelukke, androide kørekort. txt '), 2.skabe en test, klasse, skabe en ny test klasse, , calculatortester,, ved at skabe en fil ved navn, calculatortester.java, indenfor, androidtest, fortegnelse. til at skabe en eu - erhvervsgrenen automator test, din klasse skal udvide , instrumentationtestcase,.,,,,, presse, alat + stik, og så klik , fælde en metode til at omgå, fælde, metode.,,,,, presse, alat + indsæt igen og klik , metode, til at skabe en ny metode.navnet på denne metode, testadd,. , calculatortester, klasse nu ser sådan ud:,, offentlige klasse calculatortester udvider instrumentationtestcase {@ tilsidesætte offentlige tomrum setup() kaster undtagelse {} offentlige tomrum testadd() kaster undtagelse (}), 3.inspicere rampen brugergrænseflade, forbind din androide anordning til din computer, og tryk hjem knap på din anordning til at navigere i hjemmet skærm.,,, - - gå tilbage til din computer, og bruger din fil opdagelsesrejsende eller terminal til at gennemse registret, hvor du installeret androiden sdk.næste, anføres, værktøj, statistik, indeni og iværksætte, uiautomatorviewer,.dette vil sætte eu - erhvervsgrenen , automater skærm,. , du skal have forelagt en skærm, der ser sådan ud:,,,,, tryk på knappen, der ligner en telefon for at fange et skærmbillede af jeres androide anordning.bemærk, at skærmbillede bare fanget er interaktiv.klik, hvad ikonet forneden.i, node detaljer, afsnittet om lige, du er nu i stand til at se flere detaljer af deres udvælgelse, som vist nedenfor.,,,,, til at interagere med varer på skærmen, eu - erhvervsgrenen automator afprøvning ramme skal være i stand til entydigt at identificere dem.i denne forelæsning, vil du enten ved hjælp af den tekst, desc, indhold, eller klasse af post til entydigt at identificere det, som du kan se, hvad ikon har ikke nogen tekst, men det har et indhold desc,.lav en note af sin værdi, fordi du vil bruge det næste skridt,.,,, vælg jeres androide anordning og røre apps ikon at navigere på skærmen, der viser de apps monteret på maskinen. hoved tilbage, - automater skærm, og fange et skærmbillede.du vil skrive en test for lommeregneren app, klik et ikon for at se på detaljerne.,,,,, denne gang, indhold desc, er tom, men den tekst, indeholder den værdi, lommeregner.notér det.,,, hvis deres androide anordning kører en anden rampe eller en anden version af robotter, skærme og node oplysninger vil være anderledes.det betyder også, at du bliver nødt til at foretage nogle ændringer i deres kode i overensstemmelse med operativsystem.,, 4.forbered testmiljøet, vende tilbage til androide studie at tilføje kode til, opsætning og metode.som navnet antyder, fælde, metoden skal anvendes til at forberede deres test miljø.det er med andre ord, hvor man angiver, hvad der skal gøres, før at den egentlige prøve.,,, du vil skrive koden til at simulere, hvad du gjorde på jeres androide anordning i det foregående trin:,,, tryk på den knap til at gå hjem til hjemmet skærm. presse apps ikon på alle apps., iværksætte en regnemaskine app ved at udnytte sin ikon.,,, i din klasse, erklærer et område af typen, uidevice, og navn, anordning.dette område repræsenterer deres androide anordning, og du vil bruge den til at simulere interaktion med brugeren, private uidevice anordning, i den fælde, metode, påbegynd, udstyr, ved at anmode om, uidevice.getinstance, metode, der passerer i en , instrumentering, instans, som vist nedenfor.,, anordning = uidevice. getinstance (getinstrumentation()), for at simulere, at de hjem knap af anordningen, påberåbe sig, presshome metode.,, anordning. presshome();,, næste gang, du har brug for at simulere et klik begivenhed på apps ikon.du kan ikke gøre det med det samme, fordi en android enhed vil have et øjeblik til at navigere i hjemmet skærm.prøver at klikke, hvad ikon, før den er synlig på skærmen, vil medføre en runtime undtagelse.,,, at vente på, at der sker noget, skal du ringe til, vent, metode på , uidevice, instans.at vente på, hvad ikon dukker op på skærmen, brug , until.hasobject metode.,,, at identificere de apps ikon, brug, by.desc, metode og videregive den værdi, apps, til det.du har også brug for at fastsætte den maksimale varighed af vente i millisekunder.sæt den til , 3000.dette resulterer i følgende kode blok:,, //afvente apps ikon dukker op på skærmen, anordning. vent indtil. hasobject (. desc ("system"), 3000), for at få en henvisning til apps ikon, brug, findobject metode.når du har en henvisning til apps ikon, påberåbe sig, klik, en metode til at simulere et klik.,, uiobject2 appsbutton = anordning. findobject (. desc ("system") appsbutton. click();,, som tidligere, er vi nødt til at vente et øjeblik for lommeregner ikon dukker op på skærm.i de foregående trin, du så, at lommeregneren ikon kan entydigt identificeres ved sin tekst, mark.vi påberåbe sig, by.text, en metode til at finde et ikon, går i , regnemaskine,.,, //- lommeregneren ikon dukker op på skærmen, anordning. vent indtil. hasobject (. tekst ("eventuelt"), 3000), anvendes den, findobject, og klik, metoder til at opnå en henvisning til lommeregner ikon og simulator et klik.,, uiobject2 calculatorapp = anordning. findobject (. tekst ("eventuelt"); calculatorapp. click();,, 5.kontroller lommeregner brugergrænseflade, iværksætte en regnemaskine app på jeres androide anordning og anvendelse, eu - erhvervsgrenen automater skærm, for at inspicere.efter at fange et skærmbillede, klik på knapperne for at se, hvordan du kan entydigt identificere dem.,,, for denne prøve, vil du lave en regnemaskine beregner værdien af 9 + 9 =, og undersøge, om det viser, 18, som resultat.det betyder, at du har brug for at vide, hvordan til at identificere de knapper med etiketter, 9, +, og =.,,,,, på min anordning, her er, hvad jeg har indhentet fra inspektion:,, knapper, der indeholder cifre har ens, tekst, værdier, knapper, der indeholder, +, og =, symboler har, indhold desc, værdier, plus, og svarer til hhv. resultatet er vist i en, edittext, widget.,, bemærke, at disse værdier kan være forskellige på dit udstyr, hvis du bruger en anden version af lommeregner app.,,, 6.skabe de test, i det foregående trin, du har allerede lært, at du kan bruge den, findobject, metode sammen med enten, by.text, eller, by.desc, for at få en henvisning til et objekt på skærmen.de ved også, at du skal bruge, klik, en metode til at simulere et klik på objektet.følgende kode anvender disse metoder til at udføre den beregning, 9 + 9 =.det er , testadd, metode for, calculatortester, klasse.,,, //vente til lommeregner er knapper er på skærmen anordning. vent indtil. hasobject (. tekst (9)), 3000); //udvælge de knap 9 uiobject2 buttonnine = anordning. findobject (. tekst (9)); buttonnine. click(); //udvælge den knap til + uiobject2 buttonplus = anordning. findobject (. desc ("plus"); buttonplus. click(); //press 9 igen, som vi beregner 9 + 9 buttonnine. click(); //udvælge knap = uiobject2 buttonequals = anordning. findobject (. desc ("er lig med"); buttonequals. click();,, på dette punkt, er du nødt til at vente på resultatet.men du kan ikke bruge, until.hasobject, her, fordi de, edittext, indeholder allerede er på skærmen.men du er nødt til at bruge den, waitforidle, en metode til at vente for beregningen at fuldføre.igen er den maksimale varighed af ventetiden kan være 3000 ms, anordning. waitforidle (3), få en henvisning til, edittext, objekt ved hjælp af den, findobject, og by.clazz metoder.når du har den reference, ring til, gettext, en metode til at bestemme resultatet af beregningen.,, uiobject2 resulttext = anordning. findobject (. clazz ("androide. widget. edittext"); snor resultat = resulttext. gettext(); endelig anvendelse, asserttrue, for at kontrollere, at resultatet er svarende til 18,.,, asserttrue (resultat. = ("18"), og prøven er nu færdig.,,, 6.testen, skal testen i toolbar af androide studie, vælges den klasse, calculatortester fra ud og tryk play knappen på sin ret.,,,,, når bygge slutter, bør prøven løber og fuldstændig succes.mens prøvekørsler, bør de være i stand til at se eu - erhvervsgrenens automatisering på jeres androide anordning.,,,,, konklusion i denne forelæsning, du har lært at bruge eu - erhvervsgrenen automator afprøvning rammer og eu - erhvervsgrenen automater skærm at skabe brugergrænseflade test.så du, hvor let det er at køre en test med androide studie.selv om vi testede en simpel app, kan anvende de begreber, du har lært at teste næsten en androide app.,,, du kan lære mere om afprøvning støtte bibliotek på androide udviklere websted.