Я пытаюсь написать тест, который выполняет рабочий процесс в моем приложении. Тем не мение; Мне нужно разделить мой тест на две части. Сценарий выглядит примерно так:
Я запускаю свое приложение, затем он запускает Галерею, чтобы выбрать изображение, затем возвращается в мое приложение, чтобы продолжить рабочий процесс.
Проблема, с которой я столкнулся, заключается в том, что я не могу автоматизировать действия в Галерее, поэтому для этого требуются некоторые ручные действия. Поэтому я планирую автоматизировать первую часть, то есть запустить мое приложение и запустить Gallery, затем вручную выбрать изображение и запустить вторую часть моего автоматического теста.
Проблема в конце первой части автоматизации, действие закрыто, даже если я не делаю шаг 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");