android – 两个机器人测试用例,但第二个挂起没有响应(在JUnit View中)
作者:互联网
我设法在我的XXTest.java中编写了两个包含robotium-solo-3.2.1.jar的测试用例,幸运的是在JUnit视图中它显示了第一个完成的,设备完全正常工作(在模拟器上).
然后它进入第二个,但它只是永远挂在那里!抱歉,我无法使用我的帐户附加屏幕截图.
这是我的代码:
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个测试用例正常工作!
请告诉我哪里出错了?我在某处遗漏了什么吗?为什么第二个测试用例没有运行?
顺便说一句.可以在测试项目中有多个类扩展ActivityInstrumentationTestCase2吗?好奇!
解决方法:
你需要在tearDown()中使用solo.finishOpenedActivities().
标签:android,junit,robotium 来源: https://codeday.me/bug/20190621/1249940.html