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

标签 iphone ios ios-ui-automation

我的应用程序有一个主屏幕,我可以在其中使用按钮转到登录屏幕。按下登录按钮后,它会转到第二个屏幕,即登录屏幕。 在登录屏幕中,我有一个位于表格 View 内的提交按钮。 我想点击此提交。 我应该使用什么方法。或者更准确地说,在同一个 java 脚本中热访问第二个屏幕的元素。

最佳答案

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

现在在脚本中你可以调用

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

主窗口是:

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

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

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

mainwindow.logElementTree();

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

关于iphone - 如何在 UI 自动化(iPhone)中访问第二页的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5002357/

相关文章:

ios - 如何将文本字段中的数据保存到表格 View 中?

iphone - 隐藏导航栏但不隐藏后退按钮

iphone - 主线程的 NSRunLoop 在辅助线程中被引用

objective-c - 链接到 CoreTelephony Framework (iOS)

不同语言的 iOS UI 自动化

iphone - 元视口(viewport)是否覆盖固定元素宽度

php - NSURLConnection 连接到服务器,但不发布数据

ios - 在 tableView 中添加填充功能 (Swift)

c# - 无法使用 autoAcceptAlerts 在 iOS 上运行 Appium 测试

ios - 在 XCTest 的 UI 测试中从 TextView 获取文本