首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Espresso测试中与SeekBar虚拟视图交互

在Espresso测试中与SeekBar虚拟视图交互
EN

Stack Overflow用户
提问于 2016-03-11 05:36:56
回答 1查看 906关注 0票数 1

我正在尝试在一个Espresso测试中与一个SeekBar控件交互。具体地说,我想单击“节点”的位置,其中节点是可拖动的拇指可以捕捉到的位置。

UI树不了解SeekBar的内部结构。似乎不可能使用Espresso直接指向其中一个节点;它所看到的只是一个SeekBar

相反,我想知道是否可以使用为TalkBack支持而存在的可访问性树。uiautomatorviewer工具确认此树包含每个节点的虚拟视图。每个虚拟视图都有一个内容描述。

我的目标是在匹配器中获得这些虚拟视图中的一个,并在其上执行click。就像..。

代码语言:javascript
复制
onVirtualView(withContentDescription("banana")).perform(click());

其中onVirtualView将类似于onView。我不知道如何以编程方式访问这个可访问性树,也不知道是否可以在它上触发操作。有人能说明这项技术的可行性吗?

我知道设置进度值(Espresso - Set SeekBar)的方法。我试图避免这种方法,因为我希望测试可以灵活地更改插槽数量。

EN

回答 1

Stack Overflow用户

发布于 2016-03-11 15:59:27

您可以按索引指定子视图(虚拟视图)。如下所示:

代码语言:javascript
复制
onView(nthChildOf(withId(R.id.seekbar), 1)).perform(click());

所以这里你点击的是SeekBar的第二个孩子(索引是1)。nthChildOf是一个特殊的匹配器,它允许你引用一个子对象。你可以在这里找到它的来源和更多细节- http://droidtestlab.com/additions.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35927797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档