2016-07-29 7 views
0

ギャラリーから画像を選択するためのサインアップフォームにサードパーティのライブラリを使用しました。私の申し込みフォームはうまくいきます。今私はエスプレッソを使ってテストしたいと思います。私が直面している最大の問題は、テスト中にプロフィール写真のイメージビューを設定する方法です。エスプレッソでテスト中にイメージビューにイメージを設定するには?

+0

どのライブラリを使用していますか。正確に何が問題なのですか?これまでに何を試しましたか?テストに参加していないときにプロファイルイメージはどのように設定されますか? – thaussma

答えて

0

espresso-intentsを使用して、カメラロールからその意図を検出し、画像を設定する必要があります。

ここでは、私が使用する方法があります:

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.lytProfImageChooseFromLibrary)).perform(click()); 
     intended(expectedIntent); 
    } 
    catch (Exception e) { 
     returnException = e; 
    } 
    finally { 
     Intents.release(); 
    } 

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

は、この情報がお役に立てば幸いです。

+0

Intents.releaseが完了していることを確認することが重要であるため、またはテストでIntents.initを何度も呼び出すと問題が発生する可能性があるため、例外をキャプチャします – jeprubio

関連する問題