Android SDK bietet die folgenden Tools, um automatisierte, funktionale UI Tests auf Ihre Anwendung zu unterstützen.
- uiautomatorviewer
- uiautomator
uiautomatorviewer
Ein GUI-Tool zu scannen und zu analysieren, die UI-Komponenten eines Android-Anwendung.
Die uiautomatorviewer Tool bietet eine komfortable grafische Benutzeroberfläche, um das Layout-Hierarchie zu inspizieren und sehen Sie die Eigenschaften der einzelnen UI-Komponenten, die auf dem Testgerät angezeigt werden. Mit Hilfe dieser Informationen können Sie später erstellen uiautomator Tests mit Auswahlobjekte, die bestimmte UI-Komponenten zu testen, zu zielen.
Um die UI-Komponenten der Anwendung, die Sie testen möchten zu analysieren, führen Sie folgende Schritte nach der Installation der Anwendung im Beispiel angegeben.
- Verbinden Sie Ihr Android-Gerät zu Ihrem Entwicklungscomputer
- Öffnen Sie ein Terminal-Fenster und navigieren Sie zu <android-sdk> / tools /
- Führen Sie das Tool mit diesem Befehl
uiautomatorviewer
Befehle würden, wie unten dargestellt befolgt werden
Sie werden sehen, das folgende Fenster angezeigt. Es ist das Standardfenster der Benutzeroberfläche von Automator-Viewer.
- Klicken Sie auf das Geräte-Symbol in der rechten oberen Ecke. Es wird anfangen, die UI-XML Momentaufnahme des Bildschirms aktuell im Gerät geöffnet wird. Es wäre so etwas wie dieses.
Danach werden Sie die Momentaufnahme Ihrer Gerätebildschirm in der uiautomatorviewer Fenster.
Auf der rechten Seite des Fensters, werden Sie zwei Partitionen zu sehen. Die obere Partition erklärt die Knoten-Struktur, die Art, wie die UI-Komponenten sind so angeordnet und enthalten ist. Durch Klicken auf jedem Knoten gibt Detail in der unteren Trenn.
Als Beispiel betrachten wir die Abbildung unten. Wenn Sie auf die Schaltfläche klicken, werden Sie in der oberen Partition, Knopf ausgewählt wird sehen können, und in der unteren Trenn, werden dessen Details angezeigt. Da diese Schaltfläche klicken Sie in der Lage, deshalb seine Eigenschaft, klicken Sie in der Lage auf true gesetzt ist.
UI Automator-Viewer hilft Ihnen auch, Ihre UI in verschiedenen Orientierungen zu untersuchen. Zum Beispiel, nur Ihr Gerät Ausrichtung zu ändern, um Landschaft und wieder den Screenshot zu erfassen. Es ist in der nachfolgenden Abbildung gezeigt -
uiautomator
Jetzt können Sie Ihre eigenen Testfälle erstellen und führen Sie es mit uiautomatorviewer, um sie zu untersuchen. Um Ihre eigenen Testfall zu erstellen, müssen Sie folgende Schritte durchführen -
- Aus dem Projekt-Explorer mit der rechten Maustaste auf das neue Projekt, das Sie erstellt haben, und wählen Sie Eigenschaften> Java Build Path, und gehen Sie wie folgt -
- Klicken Sie auf Bibliothek hinzufügen> JUnit wählen Sie dann JUnit3 zu JUnit-Unterstützung hinzufügen.
- Klicken Sie auf Add External JARs ... und navigieren Sie zum SDK-Verzeichnis. Unter der Plattformen Verzeichnis, wählen Sie die neueste SDK-Version, und fügen Sie sowohl die uiautomator.jar und android.jar Dateien.
- Erweitern Sie Ihre Klasse mit UiAutomatorTestCase
- Rechts die erforderlichen Testfälle.
- Sobald Sie Ihr Test codiert haben, gehen Sie folgendermaßen vor zum Erstellen und Bereitstellen Ihrer Test JAR, um Ihre Ziel Android Testgerät.
- Erstellen Sie die erforderlichen Build-Konfigurationsdateien, um die Ausgabe JAR bauen. Um die Build-Konfigurationsdateien zu erzeugen, öffnen Sie ein Terminal und führen Sie den folgenden Befehl ein:
<android-sdk>/tools/android create uitest-project -n <name> -t 1 -p <path>
- Von der Kommandozeile, setzen Sie den ANDROID_HOME variabel.
Das ist der Name des Projekts, das Sie Ihre uiautomator Testquelldateien enthält, und die ist der Pfad zu dem entsprechenden Projektverzeichnis.
set ANDROID_HOME=<path_to_your_sdk>
- Zum Projekt-Verzeichnis, wo Ihre build.xml Datei befindet, und bauen Sie Ihre Test-JAR.
ant build
- Stellen Sie Ihre generierten Test JAR-Datei in das Testgerät mit Hilfe des adb Push-Befehl.
adb push <path_to_output_jar> /data/local/tmp/
- Führen Sie den Test, indem Sie folgenden Befehl -
adb shell uiautomator runtest LaunchSettings.jar -c com.uia.example.my.LaunchSettings
Beispiel
Das folgende Beispiel demonstriert die Verwendung von UITesting. Es Kästen einer einfachen Anwendung, die für uiautomatorviewer verwendet werden kann.
Um bei diesem Beispiel zu experimentieren, müssen Sie diese auf einem Gerät laufen und folgen Sie den uiautomatorviewer Schritte am Anfang erklärt.
Schritte | Bezeichnung |
---|---|
1 | Sie werden Android-Studio verwenden, um ein Android-Anwendung unter einem Paket com.tutorialspoint.myapplication schaffen ;. Bei der Erstellung dieses Projekt, stellen Sie sicher SDK Ziel und Kompilieren Sie mit der neuesten Version des Android SDK zu höheren Ebenen der APIs verwenden. |
2 | Ändern src / MainActivity.java Datei an Aktivität Code hinzufügen. |
3 | Ändern Sie das Layout XML-Datei res / layout / activity_main.xml jede GUI-Komponente hinzufügen, wenn erforderlich. |
4 | Erstellen src / second.java Datei an Aktivität Code hinzufügen. |
5 | Ändern Sie das Layout XML-Datei res / layout / view.xml jede GUI-Komponente hinzufügen, wenn erforderlich. |
6 | Führen Sie die Anwendung, und wählen Sie einen laufenden Android-Gerät und installieren Sie die Anwendung und überprüfen Sie die Ergebnisse. |
Hier beträgt der Gehalt an MainActivity.java.
package 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 extends ActionBarActivity { Button b1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); b1=(Button)findViewById(R.id.button); b1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent in =new Intent(MainActivity.this,second.class); startActivity(in); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } }
Hier beträgt der Gehalt an second.java.
package com.tutorialspoint.myapplication; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Toast; /** * Created by Sairamkrishna on 4/10/2015. */ public class second extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.view); Button b1=(Button)findViewById(R.id.button2); b1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(second.this,"Thanks",Toast.LENGTH_LONG).show(); } }); } }
Hier beträgt der Gehalt an activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="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" tools:context=".MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="UI Animator Viewer" android:id="@+id/textView" android:textSize="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:textSize="35dp" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageView" android:src="@drawable/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/button" android:layout_marginTop="98dp" android:layout_below="@+id/imageView" android:layout_centerHorizontal="true" /> </RelativeLayout>
Hier beträgt der Gehalt an view.xml.
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" 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/button2" android:layout_gravity="center_horizontal" android:layout_centerVertical="true" android:layout_centerHorizontal="true" /> </RelativeLayout>
Hier beträgt der Gehalt an strings.xml.
<resources> <string name="app_name">My Application</string> <string name="hello_world">Hello world!</string> <string name="action_settings">Settings</string> </resources>
Hier beträgt der Gehalt an AndroidManifest.xml.
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.tutorialspoint.myapplication" > <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".second"></activity> </application> </manifest>
Lassen Sie uns versuchen, Ihre UI Testing Anwendung auszuführen. Ich nehme an, Sie Ihre aktuelle Android-Gerät mit dem Computer verbunden haben. Um die App vom Android-Studio, öffnen Sie eine der Aktivität Dateien Ihres Projekt auszuführen, und klicken Sie auf
Ausführen-Symbol in der Werkzeugleiste. Vor dem Start der Anwendung wird Android Studio Display folgende Fenster, um eine Option, wo Sie Ihre Android-Anwendung ausgeführt werden soll.
Wählen Sie Ihr Mobilgerät als Option und prüfen Sie dann Ihr mobiles Gerät, die Anwendungsbildschirm anzeigt. Jetzt folgen Sie einfach den an der Spitze unter dem ui Automator Viewer Schnitt, um UI-Tests in diesem Antrag genannten Schritte durchführen.
0 التعليقات:
Kommentar veröffentlichen