Robotiumでアプリのログインをテストしていますが、問題が発生しています。2つの異なるユーザータイプがあるので、3つのテストを行いました。タイプごとに1つ、ログインに失敗したものがもう1つあります。それらを個別に実行すると、すべて成功しますが、すべてのテストケースを実行すると、1つが実行され、tearDown(solo.finishOpenedActivities)が実行され、他のテストを実行するためのアクティビティは再開されません。したがって、EditTextを要求しているときの2番目のテストでは、それは利用できないと表示されます。
これが私のコードです:
public class TestLogin extends ActivityInstrumentationTestCase2<MainActivity> {
private Solo solo;
public TestLogin() {
super("com.truekke4.test", MainActivity.class);
}
@Override
protected void setUp() throws Exception {
solo = new Solo(getInstrumentation(), getActivity());
super.setUp();
}
@Override
public void tearDown() throws Exception {
getActivity().logout();
solo.finishOpenedActivities();
super.tearDown();
}
public void testUsuarioDesconocido() {
solo.clearEditText(0);
solo.enterText(0, "usuario desconocido");
solo.assertCurrentActivity("Error", MainActivity.class);
solo.clickOnButton("OK");
solo.clickOnButton("OK");
solo.assertCurrentActivity("Error", MainActivity.class);
}
public void testUsuario() {
solo.clearEditText(0);
solo.enterText(0, "usuario");
solo.clickOnButton("OK");
solo.assertCurrentActivity("Error", InicioUsuarioActivity.class);
}
public void testEmpresa() {
solo.clearEditText(0);
solo.enterText(0, "empresa");
solo.clickOnButton("OK");
solo.assertCurrentActivity("Error", InicioPymeActivity.class);
}
}
アクティビティを手動で再開する必要がありますか?Create and Intent and startActivity(intent)?
開かれた活動を終える必要はありませんか?または、アクティビティを終了する必要がありますが、setUp()でアクティビティを再起動します。Robotiumを認識できるようにするためのアクティビティを再開または作成するにはどうすればよいですか?
ヘルプ!