2016-02-26 11 views
8

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?

+0

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

+0

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 ... –

Trả lời

2

Dường như chế độ xem thể hiện menu không biết id, nhưng chỉ là văn bản của một mục. Tôi mới dùng Espresso và do đó không thể cung cấp thêm chi tiết, nhưng bài đăng này liên quan đến vấn đề của bạn: Espresso NoMatchingViewException when using withId matcher

+0

Cảm ơn @Coralie B Tôi đã không thể tìm thấy bài đăng đó trước đây. –

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