我正在尝试编写一个在我的应用程序中执行工作流的测试。然而; 我需要将我的测试分成两部分。场景是这样的:
我启动我的应用程序,然后它启动一个图库以选择图像,然后返回我的应用程序以继续工作流程。
我遇到的问题是我无法在图库中自动执行操作,因此这需要一些手动操作。所以我的计划是自动化第一部分,即启动我的应用程序并启动图库,然后手动选择一个图像,然后运行我的自动化测试的第二部分。
问题是在第一个自动化部分结束时,即使我不执行拆卸步骤并调用 activity.finish(),活动也会关闭
我已经包含了我正在使用的代码示例。因此,如果您能指出我在这里做错了什么,那就太棒了。我应该提到我正在使用 Robotium 进行自动化。
package com.myapp.android.testWithAPK;
import com.jayway.android.robotium.solo.Solo;
import android.test.ActivityInstrumentationTestCase2;
public class MyTest extends ActivityInstrumentationTestCase2 {
private static final String TARGET_PACKAGE_ID = "com.myapp.android";
private static final String LAUNCHER_ACTIVITY_FULL_CLASSNAME =
"com.myapp.android.ui.Main";
private static Class<?> launcherActivityClass;
static {
try {
launcherActivityClass = Class
.forName(LAUNCHER_ACTIVITY_FULL_CLASSNAME);
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
}
@SuppressWarnings("unchecked")
public MyTest() throws ClassNotFoundException {
super(launcherActivityClass);
}
private Solo solo;
@Override
protected void setUp() throws Exception {
solo = new Solo(getInstrumentation());
}
public void testCreatePostCard() throws InterruptedException{
solo.clickOnText("Make a postcard");
solo.clickOnText("Choose photo");