我有一个应用程序,我必须自动化测试。在开始时,应用程序要求用户在继续之前选择一个帐户。这是我的代码:
IntentFilter filter = new IntentFilter("com.google.android.gms.common.account.CHOOSE_ACCOUNT");
Intent result = new Intent();
result.putExtra(AccountManager.KEY_ACCOUNT_NAME,TEST_EMAIL);
getInstrumentation().addMonitor(filter, new ActivityResult(Activity.RESULT_OK, result), true);
solo = new Solo(getInstrumentation(), getActivity());
solo.assertCurrentActivity("MainActivity is not the current activity.", MainActivity.class);
Database.db().wipe();
getInstrumentation().waitForIdleSync();
据推测,此代码将捕获帐户请求,为其提供预定义的电子邮件,然后继续。实际发生的是,当我运行测试时,模拟器会显示帐户对话框,选择正确的帐户(TEST_EMAIL),然后停在那里而不是让应用程序继续运行。我错过了什么吗?