如何在UI自动化(iPhone)中访问第二页的元素?

时间:2011-02-15 10:17:06

标签: iphone ios ios-ui-automation

我的应用程序有一个主屏幕,我有按钮进入登录屏幕。在按下登录按钮时,它进入第二个屏幕,即登录屏幕。 在登录屏幕中,我有一个提交按钮,它位于表格视图中。 我想点击这个提交。 我应该使用什么方法。或者更确切地说,在同一个java脚本中,可以访问第二个scree的元素。

2 个答案:

答案 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();