在透過Espresso測toast需要拿到當下畫面的Activity,而透過mActivityRule就只能拿到啟動畫面的Activity。
透過上面的方式,就可以拿到當下畫面的Activity。
參考
Get Current Activity in Espresso android
Activity getCurrentActivity() throws Throwable {
getInstrumentation().waitForIdleSync();
final Activity[] activity = new Activity[1];
runTestOnUiThread(new Runnable() {
@Override
public void run() {
java.util.Collection<Activity> activities = ActivityLifecycleMonitorRegistry.getInstance().getActivitiesInStage(Stage.RESUMED);
activity[0] = Iterables.getOnlyElement(activities);
}});
return activity[0];
}
透過上面的方式,就可以拿到當下畫面的Activity。
參考
Get Current Activity in Espresso android
留言
張貼留言
有什麼想法歡迎跟我們分享