Android UI Testing Tutorial

Android SDK gir følgende verktøy for å støtte automatisert, funksjonelt UI testing på søknaden din.

  • uiautomatorviewer

    uiautomator

    uiautomatorviewer

    En GUI verktøy for å skanne og analysere UI komponenter av en Android-applikasjon.

    uiautomatorviewer Verktøyet gir en praktisk visuelt grensesnitt for å inspisere hierarkiet layout og vise egenskapene til de enkelte UI komponenter som vises på testapparatet. Ved hjelp av denne informasjonen, kan du senere lage uiautomator tester med velger gjenstander som er rettet mot spesifikke UI komponenter for å teste.

    For å analysere UI komponenter av programmet du ønsker å teste, utføre følgende trinn når du har installert programmet gitt . i eksempelet

    Koble Android-enheten til utviklingsmaskinen

    Åpne et terminalvindu og naviger til < android-SDK > /verktøy /

    Kjør verktøyet med denne kommandoen
    uiautomatorviewer

    Kommandoer ville bli fulgt som vist nedenfor

    Du vil se følgende vindu vises. Det er standardvindu av UI Automator Viewer.

  • Klikk på enhetene ikonet øverst i høyre hjørne. Det vil begynne å ta UI XML snapshot av skjermen i dag åpnet i enheten. Det ville være noe sånt som dette.

    Etter det, vil du se skjermbilde enheten i uiautomatorviewer vinduet.

    På høyre side av dette vinduet, vil du se to partisjoner. Den øvre partisjon forklarer noder strukturen, måten UI komponenter er ordnet og inneholdt. Ved å klikke på hver node gir detalj i nedre partisjonen.

    Som et eksempel vurdere figuren nedenfor. Når du klikker på knappen, kan du se i den øverste partisjonen som er valgt, og i nedre partisjon, er dens detaljer vises. Siden denne knappen er å klikke stand, det er derfor sin eiendom klikk stand er satt til true.

    UI Automator Viewer hjelper deg også til å undersøke din UI i ulike retninger. For eksempel, bare endrer enhet orientering til liggende, og igjen ta skjermbildet. Det er vist i figuren under −

    uiautomator

    Nå kan du lage dine egne testtilfeller og kjøre den med uiautomatorviewer å undersøke dem. For å lage din egen test, må du utføre følgende trinn og minus;

    Fra Project Explorer, høyreklikk på det nye prosjektet som du opprettet, og velg Egenskaper> Java Build Path, og gjøre følgende −

    Klikk Legg Bibliotek> JUnit velg deretter JUnit3 å legge JUnit støtte

    Klikk Legg Eksterne JAR ... og navigere til SDK-katalogen.. Under plattformer katalogen, velger den nyeste versjon av SDK og legge både uiautomator.jar og android.jar filer.

  • Utvid klassen med UiAutomatorTestCase

    Høyre nødvendige testtilfeller.
    < li> Når du har kodet din test, følger du disse trinnene for å bygge og distribuere din test JAR til målet Android testapparatet.

    Lag de nødvendige byggekonfigurasjonsfiler for å bygge utgang JAR. Å generere build konfigurasjonsfiler, åpne en terminal og kjør følgende kommando:
    < android-SDK > /verktøy /android skape uitest-prosjektet -n < navn > -t en -p < banen >.

    Det er navnet på prosjektet som inneholder dine uiautomator testkildefiler, og er banen til den tilsvarende prosjektkatalogen

    Fra kommandolinjen, setter . den ANDROID_HOME variable
    satt ANDROID_HOME = < path_to_your_sdk >.
    Gå til prosjektet katalogen der build.xml filen ligger og bygge din test JAR
    maur bygge
    distribuere genererte test JAR-filen til testenheten ved hjelp av ADB push-kommandoen
    ADB presse. < path_to_output_jar > /data /local /tmp /
    Kjør test av følgende kommando −
    ADB shell uiautomator RunTest LaunchSettings.jar -c com.uia.example.my.LaunchSettings
    Eksempel
    < p> Eksempelet nedenfor viser bruken av UITesting. Det kasser et grunnleggende program som kan brukes til uiautomatorviewer.

    For å eksperimentere med dette eksempelet, må du kjøre dette på en faktisk enhet, og følg uiautomatorviewer trinnene forklarte i begynnelsen.
    StepsDescription1You vil bruke Android studio for å lage en Android-applikasjon under en pakke com.tutorialspoint.myapplication;. Mens du oppretter dette prosjektet, må du Target SDK og kompilere med på den nyeste versjonen av Android SDK til å bruke høyere nivåer av APIs.2Modify src /MainActivity.java fil for å legge til aktivitet code.3Modify layout XML fil res /layout /activity_main.xml legge til GUI-komponent hvis required.4Create src /second.java fil for å legge til aktivitet code.5Modify layout XML fil res /layout /view.xml legge noen GUI komponent dersom required.6Run programmet og velge en som kjører Android-enhet, og installere programmet . på den og verifisere resultatene

    Her er innholdet i MainActivity.java
    pakken com.tutorialspoint.myapplication;. import android.content.Intent; import android.support.v7.app .ActionBarActivity, import android.os.Bundle, import android.view.Menu, import android.view.MenuItem, import android.view.View, import android.widget.Button; public class MainActivity strekker ActionBarActivity {Button b1; Override Beskyttet void onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); b1 = (Button) findViewById (R.id.button); b1.setOnClickListener (ny View.OnClickListener () {Override public void onClick (Vis v) {Intent i = new Intent (MainActivity.this, second.class), startActivity (i);}}); }Override Public boolean onCreateOptionsMenu (Meny menyen) {//Blås menyen; dette legger til elementer i handlingsfeltet hvis det er til stede. . getMenuInflater () blåse (R.menu.menu_main, menyen); return true; }Override Public boolean onOptionsItemSelected (MENUITEM element) {//Håndtak handlingen bar varen klikk her. Handlingsfeltet vil //automatisk håndtere klikker på Hjem /Opp-knappen, så lenge //som du angir en forelder aktivitet i AndroidManifest.xml. int id = item.getItemId (); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) {return true; } Returnere super.onOptionsItemSelected (element); }}

    Her er innholdet i second.java
    pakken com.tutorialspoint.myapplication;. import android.app.Activity, import android.os.Bundle; import android.view.View; import android.widget.Button, import android.widget.Toast; /** * Laget av Sairamkrishna på 4/10/2015. * /public class andre strekker Aktivitet {Override beskyttet void onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.view); Button b1 = (knappen) findViewById (R.id.button2); b1.setOnClickListener (ny View.OnClickListener () {Override public void onClick (Vis v) {Toast.makeText (second.this, "Takk", Toast.LENGTH_LONG) .vis ();}}); }}

    Her er innholdet i activity_main.xml
    < RelativeLayout xmlns: Android = "http://schemas.android.com/apk/res/android~~number=plural" xmlns: verktøy = "http://schemas.android.com/tools" android: layout_width = "match_parent" android: layout_height = "match_parent" android: paddingLeft = "@ dimen /activity_horizontal_margin" android: paddingRight = "@ dimen /activity_horizontal_margin" android: paddingTop = "@ dimen /activity_vertical_margin" android: paddingBottom = "@ dimen /activity_vertical_margin" verktøy: kontekst = ". MainActivity" > < TextView android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "UI Animator Viewer" android: id = "+ id /textView" android: Tekststørrelse = "25sp" android: layout_centerHorizontal = "true "/> < TextView android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Tutorials point" android: id = "+ id /textView2" android: layout_below = "+ id /textView" android: layout_alignRight = "+ id /textView" android: layout_alignEnd = "+ id /textView" android: textcolor = "# ff36ff15" android: textIsSelectable = "false" android: Tekststørrelse = "35dp" /> < Imageview android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: id = "+ id /bildeVis" android: src = "@ teikne /logo" android: layout_below = "+ id /textView2" android : layout_centerHorizontal = "true" /> < Button android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Button" android: id = "+ id /knapp" android: layout_marginTop = "98dp" android: layout_below = "+ id /bildeVis "android: layout_centerHorizontal =" true "/> < /RelativeLayout >

    Her er innholdet i view.xml
    < xml version =.?" 1.0 "encoding = "utf-8"> < RelativeLayout xmlns:? android = "http://schemas.android.com/apk/res/android" android: orientering = "vertikal" android: layout_width = "match_parent" android: layout_height = " match_parent "> < Button android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Button" android: id = "+ id /knappen2" android: layout_gravity = "center_horizontal" android: layout_centerVertical = "true" android : layout_centerHorizontal = "true" /> < /RelativeLayout >

    Her er innholdet i strings.xml
    < ressurser >. < string name = "APP_NAME" > My Application < /string > < string name = "hello_world" > Hei, verden <! /string > < string name = "action_settings" > Innstillinger < /string > < /ressurser >

    Her er innholdet i AndroidManifest.xml
    . <? xml version = "1.0" encoding = "utf-8" > < manifest xmlns:? android = "http://schemas.android.com/apk/res/android" pakken = "com.tutorialspoint.myapplication" > < søknad android: allowBackup = "true" android: icon = "@ Mipmap /ic_launcher" android: label = "@ streng /APP_NAME" android: tema = "@ stil /AppTheme" > < aktivitet android: ". MainActivity" name = android: label = "@ streng /APP_NAME" > < intent-filter > < handling android: name = "android.intent.action.MAIN" /> < kategori android: name = "android.intent.category.LAUNCHER" /> < /intent-filter > < /aktivitets > < aktivitet android: ". sekund" name = > < /aktivitets > < /søknad > < /manifest >

    La oss prøve å kjøre UI Testing søknad. Jeg antar at du har koblet den faktiske Android Mobile-enhet med datamaskinen. For å kjøre programmet fra Android studio, åpne en av prosjektets aktivitets filer, og klikk Kjør ikonet fra verktøylinjen. Før du starter programmet, vil Android studio vise følgende vindu for å velge et alternativ hvor du vil kjøre Android-applikasjon.

    Velg den mobile enheten som et alternativ, og deretter sjekke den mobile enheten som vil vise programskjermen. Nå følger trinnene som er nevnt øverst under ui Automator betrakteren delen for å utføre ui testing på denne søknaden. Anmeldelser