使用 espresso 设置 Spinner 项目

Posted

技术标签:

【中文标题】使用 espresso 设置 Spinner 项目【英文标题】:Set Spinner item with espresso 【发布时间】:2017-01-10 17:53:55 【问题描述】:

我想知道如何在浓缩咖啡测试中设置微调器中的项目。

onView(withId(R.id.spinner_gender)).perform(click());
onData(allOf(is(instanceOf(String.class)))).atPosition(0).perform(click());

上面这段代码不起作用:/

【问题讨论】:

检查这个答案:***.com/questions/37615658/… 它被否决但它确实对我有用 【参考方案1】:

您的代码 sn-p 看起来正确,所以您的测试类的另一部分可能有问题? 你是否得到一个异常或堆栈跟踪,你可以用它来更新你的问题?另请查看 espresso documentation 以获得更多解释。

查看小代码示例,了解如何通过文本或其位置选择微调器选项。

@RunWith(androidJUnit4.class)
public class BasicEspressoTest 
    @Rule
    public ActivityTestRule<MainActivity> testRule = new ActivityTestRule<>(MainActivity.class);

    @Test
    public void selectBySpinnerPosition() throws Exception 
        onView(withId(R.id.spinner)).perform(click());
        onData(allOf(is(instanceOf(String.class)))).atPosition(0).perform(click());
    

    @Test
    public void selectBySpinnerText() throws Exception 
        onView(withId(R.id.spinner)).perform(click());
        onData(allOf(is(instanceOf(String.class)), is("spinner's text"))).perform(click());
    

【讨论】:

以上是关于使用 espresso 设置 Spinner 项目的主要内容,如果未能解决你的问题,请参考以下文章

Espresso - 如何定位并单击ListView中的第一个项目

如何使用 Espresso 将时间设置为 MaterialDateTimePicker

如何将图像视图的可见性设置为 Spinner 所选项目的可见性

Android开发系列(二十一):Spinner的功能和使用方法以及实现列表选择框

如何让 Espresso 单击特定的 RecyclerView 项目?

我们如何使用 espresso 来测试带有 PreferenceFragment 的 android 设置活动?