Android Espresso 检查选定的微调器文本 [英] Android Espresso check selected spinner text
问题描述
我的 Espresso 测试中有此代码
I have this code in my Espresso test
onView(withId(R.id.src))
.perform(click());
onData(hasToString(startsWith("CCD")))
.perform(click());
onView(withId(R.id.src))
.check(matches(withText(containsString("CCD"))));
我想要做的是单击 Spinner
中的项目并检查它是否确实在 Spinner
中被选中.
What I'm trying to do is to click the item in the Spinner
and check if it's indeed selected in the Spinner
.
但我收到此错误:
android.support.test.espresso.base.DefaultFailureHandler$AssertionFailedWithCauseError: 'with text: a string contains "CCD"' 与所选视图不匹配.预期:带文本:包含CCD"的字符串得到:AppCompatSpinner{id=2131558533,res-name=src,visibility=VISIBLE,width=528,height=163,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=0.0, y=0.0, child-count=1}"
android.support.test.espresso.base.DefaultFailureHandler$AssertionFailedWithCauseError: 'with text: a string containing "CCD"' doesn't match the selected view. Expected: with text: a string containing "CCD" Got: "AppCompatSpinner{id=2131558533, res-name=src, visibility=VISIBLE, width=528, height=163, 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=0.0, y=0.0, child-count=1}"
推荐答案
Replace withText()
为 withSpinnerText()
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))));
参考:https://code.google.com/p/android-test-kit/issues/detail?id=85
这篇关于Android Espresso 检查选定的微调器文本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!