我正在尝试编写一个测试,以执行应用程序中的工作流程。但是,我需要将我的测试分成两个部分。场景大致如下:
我启动我的应用程序,然后它启动一个画廊来选择图像,然后返回到我的应用程序以继续工作流程。
我的问题是,我无法自动化画廊中的操作,因此这需要一些手动操作。因此,我的计划是自动化第一部分,即启动我的应用程序并启动画廊,然后手动选择图像,然后运行我的自动化测试的第二部分。
问题在于,在第一部分自动化结束时,即使我没有执行tearDown步骤并调用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");