Tôi đang thực hiện một thử nghiệm sử dụng Espresso, đầu tiên tôi mở thanh hành động:Nhấp vào một mục trình đơn trong thanh tác vụ có Espresso khi sử dụng OnView (withId (...))
openActionBarOverflowOrOptionsMenu(getInstrumentation().getTargetContext());
Tất cả mọi thứ ok lên đến ở đây, nhưng sau đó tôi muốn nhấp vào menu tùy chọn:
onView(withId(R.id.action_menu)).perform(click());
Bố cục trình đơn xml có tùy chọn có id: "action_menu".
tôi nhận được một lỗi:
android.support.test.espresso.NoMatchingViewException: No views in hierarchy found matching: with id: ***.********.******.android.debug:id/action_menu
If the target view is not part of the view hierarchy, you may need to use Espresso.onData to load it from one of the following AdapterViews:android.support.v7.widget.ListPopupWindow$DropDownListView{43fd3f58 VFED.VC. .F...... 24,24-612,168}
tôi đã bước này để làm việc bằng cách sử dụng:
onView(withText(R.string.action_report)).perform(click());
Tôi muốn biết những gì đang xảy ra sai với id mặc dù.
Bất kỳ ý tưởng nào?
Sản phẩm có id = "@ + id/action_menu" không? Nó có vẻ giống với matcher withText mà nó có thể cụ thể hơn, như report_action. – siger
Hi siger, có mục không có id 'android: id =" @ + id/action_menu "' nhưng espresso chỉ tìm kiếm bằng văn bản. Vẫn không biết tại sao ... –