gpt4 book ai didi

java - Espresso 无法区分相同的按钮

转载 作者:行者123 更新时间:2023-12-01 09:40:50 24 4
gpt4 key购买 nike

我正在尝试使用 Espresso 编写测试。我陷入困境,因为 espresso 无法区分屏幕上的两个按钮(admin_server_trash),因为它们看起来是相同的。在实际的代码库中,按钮根据其左侧的内容进行操作。我如何在 Espresso 中实现此功能?

显示的错误如下,导致错误的行也在下面。

android.support.test.espresso.AmbigouslyViewMatcherException: 'with id: com.revelwood.quantum:id/admin_server_trash' 匹配层次结构中的多个 View 。

    @Test
public void TestManageServerAddGood()
{
...
onView(withId(R.id.admin_server_trash)).perform(click());
}

此外,这是有错误的 2 个按钮。它们似乎是相同的,所以我不知道如何让 espresso 来区分它们。

+---------->AppCompatImageButton{id=2131624221,res-name=admin_server_trash,desc=图像,可见性=可见,宽度=63,高度=63,有焦点=假,有焦点=假,有窗口焦点=真,可点击=真,启用=真,焦点=假,焦点可=假,布局请求=假,是- selected = false,root-is-layout-requested = false,has-input-connection = false,x = 933.0,y = 33.0}****匹配****

+---------->AppCompatImageButton{id=2131624221,res-name=admin_server_trash,desc=图像,可见性=可见,宽度=63,高度=63,有焦点=假,有焦点=假,有窗口焦点=真,可点击=真,启用=真,焦点=假,焦点可=假,布局请求=假,是- selected = false,root-is-layout-requested = false,has-input-connection = false,x = 933.0,y = 33.0}****匹配****

最佳答案

我明白了!事情出奇的简单。您还可以使用 Espresso 附带的 hasSibling 匹配器来找出它所匹配的内容。

        onView(allOf(is((withId(R.id.admin_server_trash))), hasSibling(withText(nickname))))
.perform(click());

关于java - Espresso 无法区分相同的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38466348/

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