使用android espresso,如何访问第二个活动的视图?

Pra*_*ina 5 android automated-tests android-espresso

我从 LoginActivity 开始,登录后,我的应用程序使用 RecyclerView 转到下一个 Activity。我需要参考 Recycler View。我正在这样做,但得到null

RecyclerView recyclerView = (RecyclerView) loginActivity.getActivity().findViewById(R.id.messages_list);
Run Code Online (Sandbox Code Playgroud)

它为空,因为 loginActivity 不包含 RecyclerView。所以,我的问题是,一旦我转到第二个活动,我该如何告诉 espresso 用新活动替换 loginActivity 以便我可以做到这一点

  RecyclerView recyclerView = (RecyclerView) currentActivity.getActivity().findViewById(R.id.messages_list);
Run Code Online (Sandbox Code Playgroud)

如果这是不可能的,还有什么其他方法?

Pra*_*ina 3

Activity currentActivity;

public Activity getActivityInstance() {

    getInstrumentation().runOnMainSync(new Runnable() {
        public void run() {
            Collection resumedActivities = ActivityLifecycleMonitorRegistry.getInstance().getActivitiesInStage(Stage.RESUMED);
            if (resumedActivities.iterator().hasNext()) {
                currentActivity = (Activity) resumedActivities.iterator().next();
            }
        }
    });

    return currentActivity;
}

RecyclerView recyclerView = (RecyclerView) getActivityInstance().findViewById(R.id.messages_list);
Run Code Online (Sandbox Code Playgroud)