Tôi muốn kiểm tra khả năng hiển thị bàn phím khi một hoạt động gọi onCreate() và onResume().Kiểm tra xem bàn phím mềm có hiển thị bằng cách sử dụng espresso
Làm cách nào để kiểm tra xem bàn phím có được hiển thị bằng máy pha cà phê không?
Tôi muốn kiểm tra khả năng hiển thị bàn phím khi một hoạt động gọi onCreate() và onResume().Kiểm tra xem bàn phím mềm có hiển thị bằng cách sử dụng espresso
Làm cách nào để kiểm tra xem bàn phím có được hiển thị bằng máy pha cà phê không?
Đâ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à đủ:
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!
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()));
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()'. –