首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何对自动化的子视图进行分组?

如何对自动化的子视图进行分组?
EN

Stack Overflow用户
提问于 2013-03-18 09:05:20
回答 1查看 216关注 0票数 2

我目前正在自动化我的iOS应用程序。我目前面临的问题是分组我的子观点,以便将它们与其他观点分开。好吧,让我说清楚,下面是我所拥有的:

  • 自定义视图容器- MyContainerView1
  • -MyUIImageView
  • -MyUITextField
  • -MyUIButton
  • 自定义视图容器- MyContainerView2
  • -MyUIImageView
  • -MyUITextField
  • -MyUIButton

好的,在自动化过程中,我希望能够访问所有子视图(包括MyUIImageView、MyUITextField、MyUIButton)。为此,我必须将它们全部设置为UIAccessibilityEnabled = YES,设置标签,并设置所有MyContainerView实例的UIAccessibilityEnabled = NO。

好的,但是当我记录元素树时,子视图没有分组(因为MyContainerView的可访问性被禁用了,所以我无法获得组):

  • -MyUIImageView
  • -MyUITextField
  • -MyUIButton

并将其作为一个整体对象(获取它是imageView,它是textField,检查它们的属性等等)。

相反,我明白了:

  • -MyUIImageView
  • -MyUITextField
  • -MyUIButton
  • -MyUIImageView
  • -MyUITextField
  • -MyUIButton

这样我就不知道哪个MyUIImageView属于哪个MyContainerView,所以我不能将它们分组。

因此,我的问题是,我如何能够分组,以便使他们自动化?

EN

回答 1

Stack Overflow用户

发布于 2013-03-23 20:53:11

您没有正确地设置容器视图的可访问性属性,因为这会使其中的元素混乱。

你为什么需要分组?如果使用window.elements().withName('MyUIButton'),则会得到一个包含所有名为MyUiButton的元素的数组。因此,window.elements().withName('MyUIButton')[0]将是第一个视图中的一个,而window.elements().withName('MyUIButton')[1]将是第二个视图中的一个。

也许不如分组好,但这实际上是在测试中,而不是在真正的代码中。如果您确实需要一些群式解决方案,可以更改元素运行时的可访问性属性,为视图的所有子元素添加一个前缀。比如view1_MyUiButton和view2_MyUiButton。

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

https://stackoverflow.com/questions/15472970

复制
相关文章

相似问题

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