使用 fastlane 截取屏幕截图时出错

Getting error while taking the Screenshots using fastlane

我在使用 fastlane

捕获屏幕截图时遇到错误

我的 androidTest

中的代码
@RunWith(AndroidJUnit4.class)
public class ExampleInstrumentedTest {
    @Test
    public void useAppContext() throws Exception {
        // Context of the app under test.
        Context appContext = InstrumentationRegistry.getTargetContext();

        assertEquals("com.tcc.gstknowledge", appContext.getPackageName());
    }

    @ClassRule
    public static final LocaleTestRule localeTestRule = new LocaleTestRule();

    @Rule
    public ActivityTestRule<MainActivity> activityRule = new ActivityTestRule<>(MainActivity.class);

    @Test
    public void testTakeScreenshot() {
        Screengrab.setDefaultScreenshotStrategy(new UiAutomatorScreenshotStrategy());
        Screengrab.screenshot("before_button_click");

        // Your custom onView...
        onView(withId(R.id.activity_btn1)).perform(click());

        Screengrab.screenshot("after_button_click");
    }
}

我有一个包含此代码的泳道文件。

 lane :screenshots do
    capture_android_screenshots
    #upload_to_play_store
  end

  desc "assembleDebug assembleAndroidTest"
  lane :assembleScreengrab do
    gradle(task: "assembleDebug assembleAndroidTest")
  end

我正在尝试在我的项目文件夹内的终端中执行以下命令。

  1. fastlane assembleScreengrab 用于创建调试版本和测试调试版本。
  2. fastlane screenshots 用于截图。

但是当我试图通过执行 fastlane screenshots 来捕获屏幕截图时,它会给我以下

的错误

INSTRUMENTATION_STATUS_CODE: -1

详细错误截图:-

我得到了错误,解决方案是在你的 build.gradle 文件中添加这一行android 项目。

defaultConfig {
   ....
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
   ....
}