UI 自动化:- 如何使用非主屏幕(iPhone)屏幕上的 javascript 单击按钮?

发布于 2024-10-17 12:22:03 字数 80 浏览 2 评论 0原文

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

want to click a button through javascript for testing purpose. i am able to click the button which is on first page, but dont have idea how to click button on second page which comes after clicking button on first page.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

呆° 2024-10-24 12:22:03

您只需要引用第二页上的该按钮 - 因此您可以从第一页重复该过程。也许,您做了类似的事情(此代码来自我使用选项卡栏控制器的应用程序):

 // 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();

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

You just need a reference to that button on the second page -- so you repeat the process from the first page. Probably, you did something like this (this code is from my app using a tab bar controller):

 // 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();

So, the answer is easy -- just call back to the same functions, they will return whatever's on screen at the moment.

向地狱狂奔 2024-10-24 12:22:03

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

现在在脚本中您可以调用

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

mainwindow 的方法是:

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

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

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

mainwindow.logElementTree();

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

First you have to ensure that the button is accessable. Either set the Accessability property in Interface Builder (Identity Inspector - last Tab) and give the button an appropriate Accessability Label. If you don't use Interface Builder you can set the property on the button programaticaly.

Now in the script you can call

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

mainwindow is:

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

Make also sure that the button is visible. The button has to be the deepest element in the view hierarchie which is marked accessable. If the view containing the button is enabled as accessable, it would hide the accessability of the button (which is a subview).

You can log all visible elements in the screen by

mainwindow.logElementTree();

Moreover, you always can use one single script. The mainWindow.elements() references the view which is shown at a certain moment.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文