这可能是一个基本问题,但我搜索了一下,阅读了Apple的文档,以及几个问题和一些博客文章。到目前为止,我找不到任何可以帮助我的东西。
我现在正试图进入UIAutomation,我的第一个屏幕出现问题。
我有一个UIViewController,它有一个占用大部分屏幕空间的UITableView。
我尝试了很多不同的东西,但每当我记录元素树时,似乎UITableView只被识别为UIAElement而没有其他数据可用。
我找不到使用IB使UITableView“可访问”的方法。我在代码中完成了以下操作:
- (void)viewDidLoad {
[super viewDidLoad];
[[self tableView] setIsAccessibilityElement:YES];
[[self tableView] setAccessibilityLabel:@"TableView"];
}
仍然没有。
在Apple的文档中,列出了以下内容:
UIATarget.localTarget().frontMostApp().mainWindow().tableViews()[0];
这是我试过的:
var firstTableView = UIATarget.localTarget().frontMostApp().mainWindow().tableViews()[0];
UIALogger.logStart("Logging element tree …");
firstTableView.logElementTree();
UIALogger.logPass();
结果是UIAElementNil。
有什么想法吗?
答案 0 :(得分:0)
看起来您的表视图尚未加载。延迟,例如UIATarget.localTarget().delay(3)
,然后调用logElementTree查看发生了什么。