我目前正在自动化我的iOS应用程序。我目前面临的问题是分组我的子观点,以便将它们与其他观点分开。好吧,让我说清楚,下面是我所拥有的:
好的,在自动化过程中,我希望能够访问所有子视图(包括MyUIImageView、MyUITextField、MyUIButton)。为此,我必须将它们全部设置为UIAccessibilityEnabled = YES,设置标签,并设置所有MyContainerView实例的UIAccessibilityEnabled = NO。
好的,但是当我记录元素树时,子视图没有分组(因为MyContainerView的可访问性被禁用了,所以我无法获得组):
并将其作为一个整体对象(获取它是imageView,它是textField,检查它们的属性等等)。
相反,我明白了:
这样我就不知道哪个MyUIImageView属于哪个MyContainerView,所以我不能将它们分组。
因此,我的问题是,我如何能够分组,以便使他们自动化?
发布于 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。
https://stackoverflow.com/questions/15472970
复制相似问题