gpt4 book ai didi

Android Espresso - 嵌套 parent 的组合 View 匹配器

转载 作者:行者123 更新时间:2023-12-05 00:12:47 26 4
gpt4 key购买 nike

我想从以下 View 层次结构中找到 ID 为“buttonActionNo”的按钮。

我尝试了下面的代码,但它不起作用。给出“在层次结构中找不到匹配的 View :”错误。

**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());**

有没有人试图捕获一个嵌套父级很少的 View ?

    <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 View 层级如下:

+---------->LinearLayout{id=2131492990, res-name=redFlagQuestion1, 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} | +----------->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=Is the child becoming less responsive?, 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=For example, 'not answering questions' or 'not making sense, input-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=Yes, 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=No, input-type=0, ime-target=false, has-links=false} |

最佳答案

根据 View 层次结构,您弄错了 outerContainer 和 questioContainer 的顺序。

我会在 onView 中尝试不同的代码示例:

allOf(withId(R.id.buttonActionNo), withParent(withParent(withParent(withParent(withId(R.id.redFlagQuestion1)))))

关于Android Espresso - 嵌套 parent 的组合 View 匹配器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42624529/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com