我正在自动化我的一个应用程序。
首先我点击一个 tabBar =>ok
点击导航栏的“添加”按钮 => 确定
填充我的 tableView 的 textFields 的一些数据 => ok
点击某个单元格并打开一个新的 ViewController => ok
点击这个新 Controller 中的“添加”按钮 => 没有任何反应......
按钮和第一个 View 一样: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();
谢谢,
r.
编辑:
好的,按钮点击已经使用延迟1解决了
但我无法在循环中获取按钮名称,但至少我可以继续自动化我的应用
最佳答案
要查看您的屏幕在特定时刻有哪些元素,请输入
UIATarget.localTarget().logElementTree();
在你的脚本中。它将在您应用的当前状态下显示所有元素及其辅助功能属性(名称和值)。
如果您的按钮没有名称,您必须在 XCode 项目中为这些按钮设置辅助功能属性,请参阅 there .
关于iphone - 仪表自动化 : iterate for all buttons,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3975367/