我是iOS UIAutomation的新手,这是我面临的问题
我有一个如下的 View 层次结构,并且想访问自动化sctipt中的CustomView2元素
UIWindow> UIScrollView> CustomView1(多个)> CustomView2(多个)
滚动 View 具有类型CustomView1的 subview ,而CustomView1依次具有类型CustomView2的 subview 。
我已将可访问性信息分配给层次结构中的所有 View ,但无法访问自动化脚本中的CustomView2元素。
当我在UIScrollView上执行logElementTree()时,得到的只是CustomView2的实例,CustomView2甚至不在UIWindow的树结构中。
请建议是否有任何遗漏或出问题的地方。
这是我正在使用的代码
var mainWindow = application.mainWindow();
var scrollView = mainWindow.scrollViews()[0];
var custom1 = scrollView.elements().withName("CustomView1");
for(var index=0; index<custom1.length; index++){
currentIndustry.tap();
custom1[index].logElementTree();
var custom2 = custom1[index].elements().withName("CustomView2");
UIALogger.logPass("Custom2 Length : " + custom2.length);
}
打印的树
custom1 [index] .logElementTree();
不包含CustomView2的实例
P.S.我需要访问CustomView1和CustomView2元素
最佳答案
如果您还没有找到答案,这可能会对您有所帮助:
UIAutomation Nested Accessibilty Elements Disappear from Hierarchy
在您的CustomView1类中,实现以下内容:
- (BOOL)isAccessibilityElement
{
return NO;
}
当logElementTree()时,这将使您的CustomView2元素可见。
如果CustomView2包含可访问元素,并且基本上也是一个容器 View ,则也可以在该类中实现上述内容,并且其 subview 将变得可访问。
关于iOS UIAutomation : Accessing custom subviews added on a UIScrollView in automation script,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7834119/