我想從以下視圖層次結構中找到ID爲'buttonActionNo'的按鈕。Android Espresso - 嵌套父母的組合視圖匹配器
我試過下面的代碼,但它不起作用。給「層次結構中沒有視圖找到匹配:」錯誤。
**ViewInteraction appCompatImageButton3 = onView(
allOf(withId(R.id.buttonActionNo),
allOf(withhParent(withId(R.id.actionButtonPanel)),
allOf(withParent(withId(R.id.outerContainer)),
allOf(withParent(withId(R.id.questioContainer)),
withParent(withId(R.id.redFlagQuestion1))))),
isDisplayed()));
appCompatImageButton3.perform(click());**
有沒有人試圖抓住一個嵌套父母級別少的視圖?
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<!-- redFlagQuestion1 -->
<FrameLayout android:id="@+id/questionOneContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white">
<include
android:id="@+id/redFlagQuestion1"
layout="@layout/row_base" />
</FrameLayout>
<!-- redFlagQuestion 2 -->
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white">
<include
android:id="@+id/fillerLayout2"
layout="@layout/fill_space" />
<include
android:id="@+id/redFlagQuestion2"
layout="@layout/row_base" />
</FrameLayout>
<!-- redFlagQuestion 3 -->
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white">
<include
android:id="@+id/fillerLayout3"
layout="@layout/fill_space" />
<include
android:id="@+id/redFlagQuestion3"
layout="@layout/row_base" />
</FrameLayout>
row_base.xml視圖hierarchry如下:
+ ---------->的LinearLayout {ID = 2131492990,RES-NAME = redFlagQuestion1,能見度=可見的,寬度= 1080,height = 780,has-focus = false, has-focusable = true,has-window-focus = true,is-clickable = false, is-enabled = true,is-focused = false,is-focusable = false, is-layout-requested = false,is-selected = false, root-is-layout-requested = false,has-input-connection = false,x = 0.0, y = 0.0,child-count = 1} | + -----------> LinearLayout {id = 2131493041,res-name = outerContainer,visibility = VISIBLE,width = 1080,height = 780,has-focus = false, has-focusable = true ,has-window-focus = true,is-clickable = false, is-enabled = true,is-focused = false,is-focusable = false, is-layout-requested = false,is-selected = false, root-is-layout-requested = false,has-input-connection = false,x = 0.0, y = 0.0,child-count = 1}
+ RelativeLayout {id = 2131493042,res-name = questioContainer,visibility = VISIBLE,width = 1080,height = 780,has-focus = false, has -focusable = true,has-window-focus = true,is-clickable = false, is-enabled = true,is-focused = false,is-focusable = false, is-layout-requested = false,is-selected = false, root-is-layout-requested = false,has-input-connection = false,x = 0.0, y = 0.0,child-count = 5}
+ -------------> AppCompatTextView {id = 2131493043,res-name = questionPanelQuestionNo,visibility = VISIBLE,width = 1080, height = 101,has-focus = false, has-focusable = false, has-window-focus = true,is-clickable = false,is-enabled = true, is-focused = false,is-focusable = false,is-layout-requested = false, is -selected = false,root-is-layout-requested = false, has-input-connection = false,x = 0.0,y = 30.0,text = 1,input-type = 0, ime-target = false,has -links = false} |
+ -------------> AppCompatImageButton {id = 2131493044,res-name = questionPanelUpArrow,visibility = GONE,width = 0,height = 0, has-focus = false, has-focusable = false,has-window-focus = true, is-clickable = true,is-enabled = true,is-focused = false, is-focusable = true,is-layout-requested = true,is- selected = false, root-is-layout-requested = false,has-input-connection = false,x = 0.0, y = 0。0} |
+ -------------> AppCompatTextView {id = 2131493045,res-name = questionPanelQestion,visibility = VISIBLE,width = 960, height = 152,has-focus = false, has-focusable = false, has-window-focus = true,is-clickable = false,is-enabled = true, is-focused = false,is-focusable = false,is-layout-requested = false, is -selected = false,root-is-layout-requested = false, has-input-connection = false,x = 60.0,y = 161.0,text =兒童 變得不太敏感嗎?,input-type = 0,ime -target = false, has-links = false} |
+ -------------> AppCompatTextView {id = 2131493046,res-name = questionPanelQestionExample,visibility = VISIBLE,width = 960, height = 114,has-focus = false, has-focusable = false, has-window-focus = true,is-clickable = false,is-enabled = true, is-focused = false,is-focusable = false,is-layout-requested = false, is -selected = false,root-is-layout-requested = false, has-input-connection = false,x = 60.0,y = 343.0,text =例如,'not 回答問題'或'沒有意義,輸入-type = 0, ime-target = false,has-links = false} |
+ -------------> RelativeLayout {id = 2131493047,res-name = actionButtonPanel,visibility = VISIBLE,width = 1080, height = 270,has-focus = false, has-focusable = true, has-window-focus = true,is-clickable = false,is-enabled = true, is-focused = false,is-focusable = false,is-layout-requested = false, is -selected = false,root-is-layout-requested = false, has-input-connection = false,x = 0.0,y = 480.0,child-count = 4}
+ AppCompatImageButton {id = 2131493048,res-name = buttonActionYes,visibility = VISIBLE,width = 200,height = 200, has-focus = false ,has-focusable = true,has-window-focus = true, is-clickable = true,is-enabled = true,is-focused = false, is-focusable = true,is-layout-requested = false,is -selected = false, root-is-layout-requested = false,has-input-connection = false,x = 260.0, y = 0.0}
+ -------------- AppCompatImageButton {id = 2131493049,res-name = buttonActionNo,visibility = VISIBLE,width = 200,height = 200, has-focus = false ,has-focusable = true,has-window-focus = true, is-clickable = true,is-enabled = true,is-focused = false, is-focusable = true,is-layout-requested = false,is -selected = false, root-is-layout-requested = false,has-input-connection = false,x = 620.0, y = 0.0}
+ --------------> AppCompatTextView {id = 2131493050,res-name = txtViewYes,visibility = VISIBLE,width = 200,height = 49,has-focus = false, has-focusable = false,has-window-focus = true,is-clickable = false, is-enabled = true,is-focused = false,is-focusable = false, is-layout-requested = false,is -selected = false, root-is-layout-requested = false,has-input-connection = false,x = 260.0, y = 221.0,text =是,input-type = 0,ime-target = false,has -links = false} |
+ --------------> AppCompatTextView {id = 2131493051,res-name = txtViewNo,visibility = VISIBLE,width = 200,height = 49,has-focus = false, has-focusable = false,has-window-focus = true,is-clickable = false, is-enabled = true,is-focused = false,is-focusable = false, is-layout-requested = false,is -selected = false, root-is-layout-requested = false,has-input-connection = false,x = 620。0, y = 221.0,text =否,input-type = 0,ime-target = false,has-links = false}