为了回答接受的答案没有的问题 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
当前显示在对话框中的 id。你也可以这样写方法:
@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());