我想使用Instruments中的UIAutomation工具来模拟某些动作。但我找不到搜索栏。搜索栏位于导航栏下方和表格视图上方。
我也设置了:
self.searchBar.isAccessibilityElement = YES;
self.searchBar.accessibilityLabel = @"Search Bar";
但仍然无法找到它。
答案 0 :(得分:1)
试试这个:
var target = UIATarget.localTarget();
var app = target.frontMostApp();
var window = app.mainWindow();
var searchBar = window.searchBars()[0];
searchBar.tap();
如果这不起作用,我可以打印你应用的mainWindow的elementTree:
window.logElementTree();
这将记录应用程序窗口内的所有UI元素。你应该寻找UIASearchBar。
答案 1 :(得分:0)
这里的问题相同。我注意到当你在导航栏上使用logElementTree时,SearchBar没有设置name属性。
脚本中的代码:
var navigationBar = UIATarget.localTarget().frontMostApp().navigationBar();
navigationBar.logElementTree();
结果我得到了
UIANavigationBar: name:Gallery rect:{{0, 20}, {320, 44}}
UIASearchBar: value: rect:{{824, 28}, {84, 28}}
UIAButton: name:Camera rect:{{212, 27}, {42, 30}}
请注意,Button的名称为“Camera”,而搜索栏则没有。这就是您无法使用其名称访问SearchBar的原因。我想这是一个错误?