Mic*_*ovo 3 android android-espresso
我有一个 Espresso 测试,可以从旋转器中选择一个项目。当我运行此测试以使微调器显示在活动(电话模式)上时,它会使用以下代码正确选择项目:
onView(withId(R.id.spinner)).perform(scrollTo()).perform(click());
onData(allOf(is(instanceOf(String.class)),
is("Spinner item string")))
.perform(click());
Run Code Online (Sandbox Code Playgroud)
其中 ID 和字符串替换为实际值。
但是,如果微调器位于 DialogFragment(平板电脑模式)上,那么相同的代码就会挂起,并且似乎无法在微调器中找到该项目。它可以单击微调器,但不能再单击该项目。据我所知,没有其他区别。
有没有人遇到过这个问题或知道我错过了什么?当微调器位于片段上时,我需要做些什么不同的事情吗?我在文档或问题跟踪器中看不到任何内容。任何建议或想法表示赞赏。这可能是一个错误,但它现在不会被发现似乎并不是一件奇怪的事情,所以我认为我做错了什么的可能性更大。
也许与 onData 有关,但为什么它现在不起作用,我该如何解决?
在这种情况下,我在发帖之前看起来不够努力,因为我发现了另一个有正确答案的问题:
onData(allOf(is(instanceOf(String.class)),
is("Spinner item string")))
.inRoot(isPlatformPopup())
.perform(click());
Run Code Online (Sandbox Code Playgroud)
下面的帖子没有接受答案,但这对我有用。
在对话框中选择微调器时,Android espresso 中的 RunTimeException
| 归档时间: |
|
| 查看次数: |
1439 次 |
| 最近记录: |