Für listViews können Sie folgende Methode verwenden solo.getCurrentListViews()
die eine Anzahl von Listenansichten auf dem aktuellen Bildschirm zurückgeben, und dann durch andere Objekttypen iterieren oder diese erhalten ( Android-Widgets ) von ihnen müssen Sie zum Beispiel auf Bildansichten aus allen Listen auf dem Bildschirm, die Sie nicht zu einer anderen Aktivität weiterleiten und nur den Zustand anderer Objekte ändern:
ArrayList<ListView> lw = solo.getCurrentListViews(); // get all list views
// logging to logcat
Log.i("stats", "number of list views on the current screen: " + aLw.size());
if (aLw.size() != 0)
for (ListView l: aLw) {
// Take all image views from list and click each
ArrayList <ImageView> aIw = solo.getCurrentImageViews(l);
Log.i("stats", "list view " + l + " contains " + iw.size() + " image views.");
if (aIw.size() != 0)
for (int i = 0; i < aIw.size(); ) {
// clicking
solo.clickOnView(aIw.get(i));
Log.i("click", "image view " + i " clicked.");
}
}
Sie können Text eingeben in editText anzeigen oder Text aus textViews abrufen. Sie können Robotium mit Java und Android API kombinieren. Prüfen Sie zum Beispiel die Sichtbarkeit von Bildern auf dem Bildschirm mit getVisibility() Methode und vergleicht sie mit drei großen Staaten Ansicht.GONE , Ansicht.SICHTBAR , Ansicht.unsichtbar . Oder Sie können die Verbindung mit der Java-Methode prüfen HttpURLrequest vor der Ausführung Ihrer Tests.
Wenn Sie eine Quelle haben, können Sie Objekte aus jedem Layout nehmen, wenn Sie dessen ID kennen! Außerdem gibt es eine Menge toller Sachen wie solo.waitForActivity()
, solo.assertMemoryNotLow()
, solo.takeScreenShot()
.
Weitere Beispiele für Robotium Nutzung können Sie hier finden, indem Sie sich Robotium-Gemeinschaft .