我设法在我的 XXTest.java 中编写了两个测试用例,其中包含 robotium-solo-3.2.1.jar,幸运的是,在 JUnit View 中它显示第一个已经完成,该设备可以正常工作(也在模拟器上)。
然后它继续到第二个,但它永远卡在那里!抱歉,我无法附上我的帐户的屏幕截图。
这是我的代码:
public class XXTest extends ActivityInstrumentationTestCase2<SignInActivity> {
private Solo solo;
private Activity mActivity;
private static final String account = "someone";
private static final String pwd = "123456";
@SuppressWarnings("deprecation")
public XXTest() {
super("com.acompany.android", SignInActivity.class);
}
protected void setUp() throws Exception {
super.setUp();
this.mActivity = getActivity();
solo = new Solo(getInstrumentation(), mActivity);
}
@Smoke
public void testLogIn() throws Exception {
EditText accountInput = (EditText) solo.getView(R.id.edit_account);
EditText pwdInput = (EditText) solo.getView(R.id.edit_password);
solo.clearEditText(accountInput);
solo.clearEditText(pwdInput);
solo.enterText(accountInput, account);
solo.enterText(pwdInput, pwd);
solo.clickOnButton(mActivity.getResources()
.getString(R.string.text_sign_in));
solo.waitForActivity("MainActivity");
solo.assertCurrentActivity("Expect MainActivity shown...", "MainActivity");
boolean expected = true;
boolean actual = solo.searchButton(mActivity.getResources().getString(
R.string.welcome_dialog_start));
assertEquals("find friend dialog not shown", expected, actual);
}
@Smoke
public void testOpenPref() throws Exception {
solo.goBack();
solo.clickOnMenuItem(mActivity.getResources().getString(
R.string.text_preferences));
solo.assertCurrentActivity("Expected PrefActivity..", "PrefActivity");
solo.goBackToActivity("MainActivity");
solo.assertCurrentActivity("Expected MainActivity..", "MainActivity");
}
protected void tearDown() throws Exception {
super.tearDown();
}
}
我从 Robotium 教程中搜索了 NotePadTest.java 的示例,其中的 3 个测试用例工作正常!
请告诉我哪里出了问题??我在某处遗漏了什么吗?为什么第二个测试用例没有运行?
顺便说一句。一个测试项目中是否可以有多个class extends ActivityInstrumentationTestCase2?好奇!
最佳答案
您需要在 tearDown() 中使用 solo.finishOpenedActivities()。
关于android - 两个 robotium 测试用例,但第二个卡在那里没有响应(在 JUnit View 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10442912/