仪器自动化:迭代所有按钮
我正在自动化我的一个应用程序。
首先我点击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属性,请参阅此处 。