Как установить изображение (из рисования, например) для imageView во время теста эспрессо? - PullRequest
0 голосов
/ 27 марта 2019

Я использую тестовую запись эспрессо для захвата изображения с камеры и установки изображения в imageView, я не мог этого сделать, потому что когда я нажимаю на кнопку захвата камеры, она не записывает по очевидной причине, поэтому способ сделать этоэто издевательство над процессом захвата изображения Я нашел какой-то код для этого, но не повезло.

Я попробовал этот код отсюда Как установить изображение в режиме просмотра изображений при тестировании с эспрессо?

public static void simulatePictureFromCameraRoll(Uri pictureUri) throws  Exception {
    Exception returnException = null;
    Intent resultData = new Intent();

    resultData.setData(pictureUri);

    Intents.init();
    try {
        Matcher<Intent> expectedIntent = hasAction(Intent.ACTION_GET_CONTENT);
        intending(expectedIntent).respondWith(new Instrumentation.ActivityResult(Activity.RESULT_OK, resultData));
        onView(withId(R.id.newUpdatedIDCardImg)).perform(click());
        intended(expectedIntent);
    }
    catch (Exception e) {
        returnException = e;
    }
    finally {
        Intents.release();
    }

    if (returnException != null) {
        throw returnException;
    }
}

и вот как я использую этот метод, я использовал несколько нарисованных изображений:

intending(hasAction(MediaStore.ACTION_IMAGE_CAPTURE)).respondWith(
            new Instrumentation.ActivityResult(Activity.RESULT_OK, null));


    //Uri uri = Uri.parse("R.drawable.bg_shape");
    Uri myURI = Uri.parse("android.resource://com.example.project/" + R.drawable.bg_shape);

    try {
        simulatePictureFromCameraRoll(myURI);
    } catch (Exception e) {
        e.printStackTrace();
    }

я просто хочу установить изображение в просмотре изображений с помощью эспрессо, пожалуйста, помогите мне и спасибо ввперед.

...