4

想通过javascript单击一个按钮以进行测试。我可以单击第一页上的按钮,但不知道如何单击第二页上的按钮,该按钮在单击第一页上的按钮后出现。

4

2 回答 2

3

您只需要在第二页上引用该按钮——因此您从第一页开始重复该过程。可能,你做了这样的事情(这段代码来自我使用标签栏控制器的应用程序):

 // Now tap the add button
 var navBar = mainWindow.navigationBar();
 navBar.buttons()["Add"].tap();

 // Now the app loads a new page
 // Get the nav bar again (it would have changed after the tap above)
 navBar = mainWindow.navigationBar();

所以,答案很简单——只需调用相同的函数,它们就会返回当前屏幕上的任何内容。

于 2011-02-16T08:51:01.777 回答
1

首先,您必须确保该按钮是可访问的。在 Interface Builder 中设置 Accessability 属性(Identity Inspector - 最后一个选项卡)并为按钮提供适当的 Accessability Label。如果您不使用 Interface Builder,您可以通过编程方式设置按钮上的属性。

现在在脚本中你可以调用

mainWindow.buttons()["name of the accessability label"].tap();

主窗口是:

var target = UIATarget.localTarget();
var application = target.frontMostApp();
var mainWindow = application.mainWindow();

还要确保按钮可见。该按钮必须是标记为可访问的视图层次结构中最深的元素。如果包含按钮的视图被启用为可访问,它将隐藏按钮的可访问性(这是一个子视图)。

您可以通过以下方式记录屏幕中的所有可见元素

mainwindow.logElementTree();

此外,您始终可以使用一个脚本。mainWindow.elements() 引用了在某个时刻显示的视图。

于 2011-03-09T13:05:37.983 回答