gpt4 book ai didi

安卓。 Espresso 。如何单击带有文本的 Spinner 项目?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:40:48 25 4
gpt4 key购买 nike

我正在尝试编写一个测试,通过文本对 Spinner 项目执行点击。

我的测试包含这些行:

onView(withId(R.id.spn_trans_type))
.perform(click());
onData(anything())
.inAdapterView(withId(R.id.spn_trans_type))
.onChildView(allOf(withId(textViewIdToTest), withText(expectedText)))
.perform(click());

但我遇到了一个异常:NoMatchingViewException: No views in hierarchy found matching: with id: com.rirdev.aalf.demo:id/spn_trans_type

如何找到微调器适配器 View ?换句话说,我应该在 inAdapterView() 方法中放入什么?

最佳答案

我已经找到了这个答案:

Replace withText() with withSpinnerText()

onView(withId(spinnerId)).perform(click());
onData(allOf(is(instanceOf(String.class)), is(selectionText))).perform(click());
onView(withId(spinnerId)).check(matches(withSpinnerText(containsString(selectionText))));

Reference: https://code.google.com/p/android-test-kit/issues/detail?id=85

From: Android Espresso check selected spinner text

所以与其使用有点复杂:

onData(anything())
.inAdapterView(withId(R.id.spn_trans_type))
.onChildView(allOf(withId(textViewIdToTest), withText(expectedText)))
.perform(click());

也许你应该使用

onData(allOf(is(instanceOf(String.class)), is(selectionText)))
.perform(click());
onView(withId(spinnerId))
.check(matches(withSpinnerText(containsString(selectionText))));

selectionText 是您期望的字符串值,spinnerId 是您的 Spinner View 的 ID。

关于安卓。 Espresso 。如何单击带有文本的 Spinner 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34619624/

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