有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Android:避免应用程序在自动化测试后退出

我正在使用Robotium编写安卓自动化测试,测试成功后,我想拍摄应用程序的屏幕截图

但问题是,测试完成后应用程序退出,我的屏幕截图工作将截图带回家,这是不需要的

是否有一种方法可以阻止我的应用程序退出,从而使应用程序屏幕处于活动状态,并获得所需的屏幕截图

下面是我编写的测试用例。另外,我没有使用任何tearDown活动

public class MyTest extends ActivityInstrumentationTestCase2 {

private static final String LAUNCH_ACTIVITY_NAME = "com.demo.activity.MyActivity";

private Solo solo;

private static Class<?> splashActivityClass;
static {
    try {
        splashActivityClass = Class.forName(LAUNCH_ACTIVITY_NAME);
    } catch (ClassNotFoundException e) {
        throw new RuntimeException(e);
    }
}

public Test() throws ClassNotFoundException {
    super(splashActivityClass);
}

@Override
protected void setUp() throws Exception {
    solo = new Solo(getInstrumentation(), getActivity());
}

@SuppressLint({ "SimpleDateFormat", "NewApi" })
public void testAllCountries() {

     // test goes here...
}

我通过adb命令拍摄屏幕截图,我使用Java Runtime在单独的作业中执行该命令


共 (2) 个答案

  1. # 1 楼答案

    不久前,我遇到了同样的问题,当时我保存的屏幕截图与我执行的测试不同步。 我通过添加一个简单的

    solo.sleep(1000);
    

    截图之后

    希望这对你也有帮助

  2. # 2 楼答案

    您可以使用睡眠在结束时保持几秒钟,方法是:

    solo.sleep(2000);