我想写一个在我的应用程序中执行工作流程的测试。然而;我需要将我的测试分成两部分。该场景是这样的:如何在测试结束时保持活动运行?
我开始我的应用程序,然后启动一个图库选择一个图像,然后返回到我的应用程序继续工作流程。
我遇到的问题是我无法在图库中自动执行动作,所以这需要一些手动操作。所以我的计划是自动化第一部分,即启动我的应用程序,然后启动Gallery,然后手动选择一个图像,然后运行我的自动化测试的第二部分。
的问题是在第一自动化部件的端部,即使我不这样做一个拆卸步骤并调用activity.finish()
活性被关闭我已经包括的代码I”的一个例子使用。所以,如果你能指出我在这里做错了什么,那将是非常棒的。我应该提到我正在使用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");