Die Android-Framework enthält eine integrierte Test-Framework, dass Sie alle Aspekte Ihrer Anwendung und den SDK-Tools sind Werkzeuge für die Einrichtung und den Betrieb Test-Anwendungen testen können. Egal, ob Sie in Eclipse die Arbeit mit ADT oder arbeiten auf der Kommandozeile, helfen den SDK-Tools die Sie eingerichtet und führen Sie Ihre Tests in einem Emulator oder dem Gerät Sie zielen.
Teststruktur
Build und Test-Tools für Android an, dass Testprojekte werden in einer Standardstruktur von Tests, Testfall-Klassen, Testpakete und Testprojekte organisiert.
Testwerkzeuge in android
Es gibt viele Tools, die zum Testen von Android-Anwendungen verwendet werden kann. Einige sind offizielle wie JUnit, Affe und einige sind Tools von Drittanbietern, die verwendet werden können, um Android-Anwendungen zu testen. In diesem Kapitel werden wir diese beiden Tools zu erklären, Android-Anwendungen zu testen.
- JUnit
- Affe
JUnit
Sie können die JUnit verwenden Testcase-Klasse, um Unit-Tests für eine Klasse, die nicht Android-APIs aufrufen tut. Testcase ist auch die Basisklasse für AndroidTestCase, die Sie verwenden, um Android-abhängigen Objekte zu testen. Neben der Bereitstellung der JUnit-Framework bietet AndroidTestCase Android spezifische Setup, Teardown und Hilfsmethoden.
Um Testcase verwenden, erweitern Sie Ihre Klasse mit Testcase-Klasse und Umsetzung einer Methodenaufruf setUp (). Die Syntax ist unten angegeben -
public class MathTest extends TestCase { protected double fValue1; protected double fValue2; protected void setUp() { fValue1= 2.0; fValue2= 3.0; } }
Für jeden Test durchzuführen, ein Verfahren, das mit der Halterung zusammenwirkt. Stellen Sie sicher, die erwarteten Ergebnisse mit Behauptungen durch den Aufruf assertTrue (String, boolean) mit einem boolean angegeben.
public void testAdd() { double result= fValue1 + fValue2; assertTrue(result == 5.0); }
Die assert Methoden zu vergleichen Werte, die Sie von einem Test, um die tatsächlichen Ergebnisse erwarten und eine Ausnahme auslösen, wenn der Vergleich fehlschlägt.
Sobald die Verfahren definiert sind können Sie sie ausführen. Die Syntax ist unten angegeben -
TestCase test= new MathTest("testAdd"); test.run();
Affe
Die Benutzeroberfläche / Anwendung Exerciser Affe, in der Regel als "Affen", ist ein Kommandozeilen-Tool, das Pseudo-Random-Streams von Tastatureingaben, Berührungen und Gesten an ein Gerät sendet. Sie führen Sie es mit der Android Debug Bridge (ADB) Werkzeug.
Sie verwenden es, um Stresstest Ihre Anwendung und meldet Fehler, die aufgetreten sind. Sie können einen Strom von Ereignissen, indem Sie das Tool jedes Mal mit der gleichen Zufallszahlen wiederholen.
Affe Funktionen
Affe hat viele Eigenschaften, aber es kann ganz oben, um diese vier Kategorien zusammengefasst werden.
- Grundlegende Konfigurationsoptionen
- Betrieblichen Einschränkungen
- Ereignistypen und Frequenzen
- Debugging-Optionen
Affe Usage
Um Affen zu verwenden, öffnen Sie eine Eingabeaufforderung, und gerade in das folgende Verzeichnis navigieren.
android ->sdk ->platform-tools
Einmal in das Verzeichnis, befestigen Sie Ihr Gerät mit dem PC und führen Sie den folgenden Befehl ein.
adb shell monkey -p your.package.name -v 500
Dieser Befehl lässt sich in diesen Schritten gebrochen werden.
- adb - Android Debug Bridge. Ein Werkzeug verwendet werden, um zu verbinden und sendet Befehle an Ihr Android-Handy von einem Desktop-Computer oder Laptop.
- Shell - Shell ist nur eine Schnittstelle auf dem Gerät, das unsere Befehle, um Systembefehle übersetzt.
- monkey - Affen ist die Test-Tool.
- v - v steht für die ausführliche Verfahren.
- 500- ist die Frequenz conut oder die Anzahl von Ereignissen, die für die Prüfung geschickt werden.
Dies ist auch in der Figur dargestellt -
Im obigen Befehl, den Affen-Tool auf dem Standard-Android-UI-Anwendung ausführen Sie. Nun, um es um Ihre Anwendung auszuführen, ist hier, was Sie zu tun haben.
schließlich werden Sie Finish als Gebrüll gezeigt bekommen
Dies wurde auch in der Abbildung unten gezeigt. Indem Sie diesen Befehl, sind Sie eigentlich Erzeugung 500 zufällige Ereignisse für die Prüfung.
Beispiel
Das folgende Beispiel demonstriert die Verwendung von Testing. Es Kästen einer einfachen Anwendung, die für die Affen verwendet werden kann.
Um bei diesem Beispiel zu experimentieren, müssen Sie diese auf einem Gerät laufen und folgen Sie dann der Affe Schritte am Anfang erklärt.
Schritte | Bezeichnung |
---|---|
1 | Sie werden studio useAndroid eine Android-Anwendung unter einem Paket com.tutorialspoint.myapplication erstellen. 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 layouta 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.os.Bundle; import android.support.v7.app.ActionBarActivity; 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); } public void button(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_SHORT).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:onClick="button" android:id="@+id/button" android:layout_below="@+id/imageView" android:layout_centerHorizontal="true" android:layout_marginTop="100dp" /> </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: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_centerVertical="true" android:layout_centerHorizontal="true" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Tutorials point " android:id="@+id/textView3" android:textColor="#ff3aff22" android:textSize="35dp" android:layout_above="@+id/button2" android:layout_centerHorizontal="true" android:layout_marginBottom="90dp" /> </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, um Ihre Android-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 Symbolleiste. 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 Affen Schnitt, um Tests zu diesem Antrag genannten Schritte durchführen.
0 التعليقات:
Kommentar veröffentlichen