iOS UIAutomation无法找到搜索栏

时间:2014-06-05 16:38:17

标签: javascript ios ios-ui-automation

我想使用Instruments中的UIAutomation工具来模拟某些动作。但我找不到搜索栏。搜索栏位于导航栏下方和表格视图上方。

我也设置了:

self.searchBar.isAccessibilityElement = YES;
self.searchBar.accessibilityLabel = @"Search Bar";

但仍然无法找到它。

2 个答案:

答案 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的原因。我想这是一个错误?