Für Listviews Sie solo.getCurrentListViews()
folgende Methode verwenden können, die eine Anzahl von Listenansichten auf dem aktuellen Bildschirm zurückzukehren, und dann durch oder andere Objekttypen (android Widgets) von ihnen erhalten iterieren zum Beispiel benötigen Sie Bildansichten aus allen Listen auf dem Bildschirm klicken, die Sie nicht auf eine andere Tätigkeit umleiten und Zustand anderer Objekte nur ä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 zu editText anzeigen oder Text von TextViews abrufen. Sie können Robotium mit Java und Android API kombinieren. Zum Beispiel Kontroll Sichtbarkeit von Bildern auf dem Bildschirm unter Verwendung getVisibility() Verfahren und mit drei Hauptzuständen View.GONE, View.VISIBLE, View.INVISIBLE vergleicht. Oder Sie können die Verbindung mit der Java-Methode HttpURLrequest vor der Ausführung Ihrer Tests überprüfen.
Wenn Sie Quellen Sie Objekte aus einem beliebigen Layout zu wissen, seine ID nehmen! Es gibt auch eine Menge toller Sachen wie solo.waitForActivity()
, solo.assertMemoryNotLow()
, solo.takeScreenShot()
.
Weitere Beispiele über Robotium Verwendung finden Sie hier durch Beitritt Robotium community.
Sie können Robotium-Fehler mit: try {...} catch (Fehler err) {..} // Auf diese Weise wird Robotium Ihren Test nicht abstürzen. – user643154
Sie können übergeordnete Ansicht und klicken Sie darauf, manchmal ist es viel größer als Bild oder Text. Ich hoffe, es wird jemandem helfen. – zest