0

ユーザーが「閉じる」ボタンを押したときに、テスト中のアクティビティではなく「ホーム」画面が表示されることを確認したいと思います。

Robotiumを使用して私は書くことができます例えば

@Override 
protected void setUp() throws Exception { 
    solo = new Solo(getInstrumentation(),getActivity()); 
} 

public void testMainUseCase() throws InterruptedException {
    solo.clickOnText("close");

    Log.w("CURRENT_ACT", solo.getCurrentActivity().getClass().toString());  
}

しかし、ログでは、アクティビティがオフになったことをデバイスで確認できたとしても、「MainActivity」(テスト中のアクティビティ)が表示されます。

一方、Roboelectricを使用すると、次のようなスニペットを作成できます。

@Test
public void shouldStopWhenRejectButtonClicked() throws Exception {      
      activity.onCreate(null);

      clickOn(activity.findViewById(R.id.close));
}

しかし、繰り返しになりますが、ユーザーに表示されるアクティビティがテスト対象のアクティビティではなくなったことを確認する方法がわかりません。

4

1 に答える 1

0

できることは、テスト中のアクティビティにまだフォーカスがあるかどうかを確認することです。フォーカス、solo.getCurrentActivity().hasWindowFocus() が false の場合、代わりにフォーカスを持つ別のアクティビティが起動されています。

于 2012-05-14T15:40:11.800 に答える