我正在使用junit
来测试我的Android应用程序。在TestCase1.java
中,我点击“同意”按钮接受协议,然后断言一些可能性。
在下一个TestCase2.java
中,我想点击“同意”按钮并断言一些可能性。
每次运行测试用例时,我都必须卸载应用程序并重新安装。如果我运行整个包,大多数情况都会失败,因为我正在重复相同的路径。
示例代码。
的 TestCase1.java
@Test
public void testdA_Case2() throws Exception {
solo.assertCurrentActivity("my test active", Myproj.class);
solo.clickOnButton("I Agree");
assertEquals(Getresponce(),"1");
}
TestCase2.java
@Test
public void testdA_Case2() throws Exception {
solo.assertCurrentActivity("my test active", Myproj.class);
solo.clickOnButton("I Agree");
assertEquals(register(), true);`
如何运行测试以便应用程序应在每个测试用例之前重新安装。如何自动化它。 (我尝试清除应用程序数据,然后尝试使用Uri卸载
packageURI = Uri.parse("package:"+"myproj.com");
Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
ctx.startActivity(uninstallIntent);
` But my test stops running if I tried this.
提前感谢您的帮助。
答案 0 :(得分:1)
看起来您无法在测试用例中重新安装apk,因为它们都在应用程序中运行。
但您可以从外部实施所需的流量控制。
从批处理/ shell脚本中,您可以根据需要调用adb install -r ....并运行单独的测试项目。以下是如何运行一个:Running Android Junit tests from command line