文本字段内切换按钮的 IOS UI 测试用例

Posted

技术标签:

【中文标题】文本字段内切换按钮的 IOS UI 测试用例【英文标题】:IOS UI Test case for toggle button inside text field 【发布时间】:2018-02-14 19:08:37 【问题描述】:

我正在使用 XCTest 框架,它是 ios 中 UI 测试的默认测试框架。 我正在编写一个测试用例,通过单击隐藏显示切换按钮来检查文本字段内的文本是可见还是隐藏。

问题是切换按钮位于文本字段内,我无法访问切换按钮。 在录制时,它会将点击切换按钮视为点击文本字段并生成如下代码:

let secureTextField = element3.children(matching: .other).element(boundBy: 1).children(matching: .secureTextField).element
        secureTextField.tap()

【问题讨论】:

【参考方案1】:

你可能需要做两件事:

    将切换设置为可访问性元素 给开关一个可访问性标识符

根据您当前的设置,可能不需要两者。

// app code
let toggleButton: UIButton!
toggleButton.isAccessibilityElement = true
toggleButton.accessibilityIdentifier = "showHideToggle"

这应该允许 XCTest 看到切换并为您提供一种在测试代码中找到它的简单机制:

// test code
let app = XCUIApplication()
let toggle = app.buttons["showHideToggle"]
toggle.tap()

【讨论】:

感谢您的回答!会尝试让你知道它是否有效。但是,我们还有其他方法可以做到吗?

以上是关于文本字段内切换按钮的 IOS UI 测试用例的主要内容,如果未能解决你的问题,请参考以下文章

获取IOS模拟器文本字段中的值

如何在 iOS Xcode UI 测试用例中启动系统应用

如何从 UI 测试用例类访问 SwiftUI 视图的属性?

在 UI 测试期间测试对象状态 (iOS)

无法在密码文本字段中输入文本以进行 iOS UI 测试

UI 中的动态数据的 UI 单元测试失败:iOS