2017年5月2日火曜日

Android UI Test : Dialog を表示する

  1. @RunWith(AndroidJUnit4.class)  
  2. @LargeTest  
  3. public class ShowDialogUiTest {  
  4.   
  5.     // Activity は起動できて副作用がないやつならなんでもよい  
  6.     @Rule  
  7.     public ActivityTestRule mActivityRule = new ActivityTestRule<>(LoginActivity.class);  
  8.   
  9.     @Test  
  10.     public void showDialog() throws Throwable {  
  11.         mActivityRule.runOnUiThread(new Runnable() {  
  12.             @Override  
  13.             public void run() {  
  14.                 // Dialog は Window token のある context が必要なので Context として Activity を使う  
  15.                 new AlertDialog.Builder(mActivityRule.getActivity())  
  16.                         .setTitle(R.string.title)  
  17.                         .setMessage(R.string.message)  
  18.                         .setPositiveButton(android.R.string.yes, null)  
  19.                         .setNegativeButton(android.R.string.no, null)  
  20.                         .setCancelable(false)  
  21.                         .show();  
  22.             }  
  23.         });  
  24.   
  25.         onView(withText(R.string.message)).check(matches(isDisplayed()));  
  26.     }  
  27. }  

ActivityTestRule の対象にする Activity は「androidTest に DummyActivity を用意する」みたいな方法をとりたかったんだけど、アプリとテストで apk が分かれるので無理そうだ ↓ http://stackoverflow.com/questions/36276909/create-dummyactivity-inside-androidtest-folder-for-testing


0 件のコメント:

コメントを投稿