gpt4 book ai didi

android - 使用 DialogFragment 时,Espresso 不会选择微调器中的项目

转载 作者:搜寻专家 更新时间:2023-11-01 08:28:13 25 4
gpt4 key购买 nike

情况

我有一个 Espresso 测试,它从旋转器中选择一个项目。当我运行此测试以便微调器显示在 Activity(电话模式)上时,它会使用以下代码正确选择项目:

onView(withId(R.id.spinner)).perform(scrollTo()).perform(click());
onData(allOf(is(instanceOf(String.class)),
is("Spinner item string")))
.perform(click());

其中 ID 和字符串被替换为实际值。

问题

但是,如果微调器位于 DialogFragment(平板电脑模式)上,则相同的代码将挂起并且似乎无法在微调器中找到该项目。它可以单击微调器,但无法再单击该项目。据我所知,没有其他区别。

问题

有没有人遇到过这个问题或者知道我遗漏了什么?当微调器在 fragment 上时,我需要做些什么不同的事情吗?我在文档或问题跟踪器中看不到任何内容。任何建议或想法表示赞赏。这可能是一个错误,但现在还没有发现它似乎并不是什么奇怪的事情,所以我认为更有可能是我做错了什么。

也许与 onData 有关,但为什么它现在不起作用,我该如何修复它?

最佳答案

在这种情况下,我似乎在发布之前没有认真看,因为我发现了另一个具有正确答案的问题:

onData(allOf(is(instanceOf(String.class)), 
is("Spinner item string")))
.inRoot(isPlatformPopup())
.perform(click());

下面的帖子没有接受答案,但这对我有用。

RunTimeException in Android espresso when selecting spinner in dialog

关于android - 使用 DialogFragment 时,Espresso 不会选择微调器中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42807698/

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