我的应用程序有一个主屏幕,我有按钮进入登录屏幕。在按下登录按钮时,它进入第二个屏幕,即登录屏幕。 在登录屏幕中,我有一个提交按钮,它位于表格视图中。 我想点击这个提交。 我应该使用什么方法。或者更确切地说,在同一个java脚本中,可以访问第二个scree的元素。
答案 0 :(得分:2)
首先,您必须确保该按钮是可访问的。在Interface Builder(Identity Inspector - 最后一个选项卡)中设置Accessability属性,并为该按钮指定适当的可访问性标签。如果您不使用Interface Builder,可以在programaticaly按钮上设置属性。
现在在脚本中你可以调用
mainWindow.buttons()["name of the accessability label"].tap();
主窗口是:
var target = UIATarget.localTarget();
var application = target.frontMostApp();
var mainWindow = application.mainWindow();
确保按钮可见。按钮必须是视图hierarchie中最深的元素,标记为可访问。如果包含该按钮的视图被启用为可访问,则会隐藏按钮的可访问性(这是一个子视图)。
您可以通过
记录屏幕中的所有可见元素mainwindow.logElementTree();
此外,您始终可以使用一个脚本。 mainWindow.elements()引用了某个时刻显示的视图。
答案 1 :(得分:0)
获取窗口的tableView对象,然后获取该tableView的单元格。现在使用提交按钮抓取单元格的按钮数组,然后点击按钮。这样的事情:
var submit = window.tableViews()[0].cells()[2].buttons()[0];
submit.tap();