仪器自动化:迭代所有按钮

时间:2010-10-20 06:49:19

标签: iphone automation ios instruments

我正在自动化我的某个应用程序。

首先,我点击tabBar => ok

点按导航栏的“添加”按钮=>确定

填写我的tableView =>的textFields的一些数据确定

点击某个单元格并打开一个新的ViewController =>确定

点按此新控制器中的“添加”按钮=>什么都没发生......

该按钮与第一个视图相同:UIBarButtonSystemItemAdd

所以,现在我想显示自动化可以找到的所有按钮,并迭代并获取其名称,只是为了检查一切进展顺利,但我找不到按钮的名称,请参阅:

var arr = UIATarget.localTarget().frontMostApp().navigationBar().buttons();
for(var i=0; i<arr.length; i++) {
  var value = arr[i];
  UIALogger.logMessage(value.name);
}

我正以同样的方式点击两个按钮:

UIATarget.localTarget().frontMostApp() .navigationBar().buttons()["Add"].tap();

感谢,

编辑:

好的,按钮点击已使用1

的延迟解决

但是我无法在循环中获取按钮名称,但至少我可以继续使用我的应用程序

1 个答案:

答案 0 :(得分:0)

要查看屏幕在某个时刻的元素,请输入

UIATarget.localTarget().logElementTree();
在你的脚本中

。它将在应用程序的当前状态中显示所有元素及其可访问性属性(名称和值)。

如果您的按钮没有名称,则必须在XCode项目中为这些按钮设置辅助功能属性,请参阅there