2015-11-28 17 views

Trả lời

-2

Đây là một loại lừa để kiểm tra xem bàn phím có thể nhìn thấy, nó không phải là một giải pháp hoàn hảo nhưng đối với tôi là đủ:

  1. kiểm tra nếu container mảnh/hoạt động được hiển thị
  2. thực hiện một nền báo chí lại
  3. kiểm tra nếu cùng chứa mảnh/hoạt động được hiển thị

mã đơn giản ví dụ:

onView(allOf(withId(R.id.myFragment),isDisplayed())); 
onView(withId(R.id.myFragment)).perform(pressBack()); 
onView(allOf(withId(R.id.myFragment),isDisplayed())); 

Nếu bàn phím hiển thị có nghĩa là lần thứ hai bạn nhấn lại nút, vùng chứa xem vẫn còn đó;)

Hy vọng trợ giúp này!

0

một mẹo khác có thể kiểm tra khả năng hiển thị của chế độ xem mà bạn biết sẽ được đề cập khi bàn phím hiển thị. đừng quên mất hình ảnh động xem xét ...

thử nghiệm thiết bị đo đạc sử dụng espresso và hamcrest cho KHÔNG Matcher cái gì đó như:

//make sure keyboard is visible by clicking on an edit text component 
    ViewInteraction v = onView(withId(R.id.editText)); 
    ViewInteraction v2 = onView(withId(R.id.componentVisibleBeforeKeyboardIsShown)); 
    v2.check(matches(isDisplayed())); 
    v.perform(click()); 
    //add a small delay because of the showing keyboard animation 
    SystemClock.sleep(500); 
    v2.check(matches(not(isDisplayed()))); 
    hideKeyboardMethod(); 
    //add a small delay because of the hiding keyboard animation 
    SystemClock.sleep(500); 
    v2.check(matches(isDisplayed())); 
+0

Với Espresso, giấc ngủ() không nên cần thiết. Thay vào đó, bạn nên sử dụng IdlingResource. Ngoài ra, 'Espresso.closeSoftKeyboard()'. –

Các vấn đề liên quan