- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我是 iOS UIAutomation 的新手,这是我面临的问题
我有一个如下所示的 View 层次结构,我想访问自动化脚本中的 CustomView2 元素
UIWindow > UIScrollView > CustomView1(多个)> CustomView2(多个)
ScrollView 具有 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[索引].logElementTree();不包含 CustomView2 的实例
附言我需要访问 CustomView1 和 CustomView2 元素
最佳答案
如果您还没有找到答案,这可能对您有帮助:
UIAutomation Nested Accessibilty Elements Disappear from Hierarchy
在您的 CustomView1 类中实现以下内容:
- (BOOL)isAccessibilityElement
{
return NO;
}
这将使您的 CustomView2 元素在您使用 logElementTree() 时可见。
如果 CustomView2 包含可访问元素并且基本上也是一个容器 View ,那么也在该类中实现上述内容,并且它的 subview 将变得可访问。
关于iOS UI 自动化 : Accessing custom subviews added on a UIScrollView in automation script,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7834119/
我是一名优秀的程序员,十分优秀!