Espresso被用于自动测试我的应用。
编辑:下面你会找到一些答案!
如何在一个自动化的Espresso测试脚本中点击一个定制对象列表中的条目?
在Espresso文档中有一个LongList的例子。我通常处理对象列表。尝试从Map到Object的许多选项至今没有产生良好的结果。
Espresso文档说应该使用'onData'。所以,类似这样:
onData( myObjectHasContent("my_item: 50")).perform(click());
onView(withId( R.id.selection_pos2)).check(matches(withText("50")));
我的问题(我认为它们对学习社区非常有帮助): - 你能写一个好的Matcher吗? - 我们如何在“onData”中使用它?
情况是什么?屏幕上有一个对象的ListView,例如:
public class MyOjbect {
public String content;
public int size;
}
我用来填充已填充列表的适配器是:
public class MyObjectWithItemAndSizeAdapter extends ArrayAdapter<MyObjectWithItemAndSize> {
private final Context context;
private final List<MyObjectWithItemAndSize> values;
...
@Override
public View getView(int position, View concertView, ViewGroup parent) {
View view = null;
if (concertView != null) {
view = (LinearLayout) concertView;
} else {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate( R.layout.list_item, parent, false);
}
TextView itemT = (TextView) view.findViewById( R.id.item_content);
itemT.setText( values.get(position).item);
TextView sizeT = (TextView) view.findViewById( R.id.item_size);
sizeT.setText( "" + values.get(position).size);
return view;
}
}