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

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

首先我点击tabBar => ok

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

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

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

点击这个新控制器中的“添加”按钮=>没有任何反应……

该按钮与第一个视图相同: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解决

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

要查看屏幕在某个时刻的元素,请放置

 UIATarget.localTarget().logElementTree(); 

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

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