使用fastlane截屏时出错

时间:2018-08-02 10:05:55

标签: android fastlane fastlane-snapshot

使用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

详细的错误截图:-

enter image description here

1 个答案:

答案 0 :(得分:0)

我收到错误消息,解决方案是在您的build.gradle文件中添加此行,我有一个旧项目,因此不会在该特定项目中添加它,但是现在,当我们创建android项目时,默认情况下它会出现。

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