对于 listViews,您可以使用以下方法solo.getCurrentListViews()
在当前屏幕上返回多个列表视图,然后迭代或从中获取其他对象类型(android 小部件),例如,您需要单击屏幕上所有列表中的图像视图,而不是将您重定向到另一个活动,并且只更改其他对象的状态:
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.");
}
}
您可以在editText视图中键入文本或从 textViews 中获取文本。您可以将 Robotium 与 Java 和 Android API 结合使用。例如,使用getVisibility()方法检查屏幕上图像的可见性,并将其与三个主要状态View.GONE、View.VISIBLE、View.INVISIBLE进行比较。或者,您可以在执行测试之前使用 Java 方法HttpURLrequest检查连接。
如果您有来源,您可以从任何知道其 ID 的布局中获取对象!也存在很多很棒的东西,比如solo.waitForActivity()
,,。solo.assertMemoryNotLow()
solo.takeScreenShot()
加入Robotium 社区,您可以在此处找到有关Robotium使用的更多示例。