React Native应用程序未从Espresso-Intent接收图像

时间:2019-07-12 10:25:36

标签: java android android-espresso

我正在编写Espresso测试以在我的React Native应用程序上运行。我正在使用Espresso-Intents通过以下代码来模拟用户拍照:

public void takePicture() {
    Instrumentation.ActivityResult result = createImageCaptureActivityResultStub();

    intending(hasAction(MediaStore.ACTION_IMAGE_CAPTURE)).respondWith(result);
    clickText("Camera");
}

public static Bitmap getBitmapFromURL(String src) {
    try {
        URL url = new URL(src);
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        connection.setDoInput(true);
        connection.connect();
        InputStream input = connection.getInputStream();
        Bitmap myBitmap = BitmapFactory.decodeStream(input);
        return myBitmap;
    } catch (IOException e) {
        // Log exception
        System.out.println(e.toString());
        return null;
    }
}

private Instrumentation.ActivityResult createImageCaptureActivityResultStub() {
    // Put the drawable in a bundle.
    Bundle bundle = new Bundle();
    bundle.putParcelable("data", getBitmapFromURL("https://vignette.wikia.nocookie.net/the-feed-your-pets-community/images/6/69/Banana.png/revision/latest?cb=20180527162222"));

    // Create the Intent that will include the bundle.
    Intent resultData = new Intent();
    resultData.putExtras(bundle);

    // Create the ActivityResult with the Intent.
    return new Instrumentation.ActivityResult(Activity.RESULT_OK, resultData);
}

在运行时,相机意图已被成功打断,但应显示照片的视图仍处于加载状态。

在调试中,我发现不是getBitmapFromURL的问题,因为bundle包含正确的图像。

谁能建议问题可能出在哪里,或者如何最好地进行进一步调试?

0 个答案:

没有答案