为了回答问题4(我接受的答案不是),我修改了以下代码,该代码在Stack Overflow(链接)上的此处找到,用于测试是否显示Toast。
@NonNull
public static ViewInteraction getRootView(@NonNull Activity activity, @IdRes int id) {
return onView(withId(id)).inRoot(withDecorView(not(is(activity.getWindow().getDecorView()))));
}
该id
传入是一个标识View
当前显示的你的对话框英寸 您也可以这样编写方法:
@NonNull
public static ViewInteraction getRootView(@NonNull Activity activity, @NonNull String text) {
return onView(withText(text)).inRoot(withDecorView(not(is(activity.getWindow().getDecorView()))));
}
现在,它正在寻找View
包含特定文本字符串的。
像这样使用它:
getRootView(getActivity(), R.id.text_id).perform(click());