swift - 使用 `isSecureTextEntry = true` 测试文本字段时访问 ID 不起作用

标签 swift xcode io xctest xcuitest

所以我正在尝试访问并确认我的 uitests 中是否存在密码文本字段,但是一旦分配了它们的 isSecureTextEntry = true,测试就无法再通过 accessID 找到它们。有谁知道为什么?是否有办法解决这个问题,以便我可以找到它们并在测试中使用它们?最好这样我仍然可以使用访问 ID 在测试中找到它们。

我的测试很简单:

func testHasPasswordTextField() {
    let passwordTextField = app.textFields[AccesID.passwordTextField]

    XCTAssertTrue(passwordTextField.isHittable)
}

运行测试时出现以下错误:

“未找到查找的匹配项:元素匹配谓词'“密码”IN标识符'来自输入{( TextField, 0x600000193e80, traits: 146029150208, identifier: 'Email', placeholderValue: 'Email' )}".

如果 isSecureTextEntry = false(或者只是没有设置),测试顺利通过

最佳答案

好吧,一位同事刚刚为我发现,当通过其 accessabilityidentifierisSecureTextEntry 设置为 true 测试和查找文本字段时,现在可以在测试中找到该文本字段作为 secureTextFields 所以我的测试像以前一样通过,但现在看起来像这样:

func testHasPasswordTextField() {
    let passwordTextField = app.secureTextFields[AccesID.passwordTextField]

    XCTAssertTrue(passwordTextField.isHittable)
}

关于swift - 使用 `isSecureTextEntry = true` 测试文本字段时访问 ID 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45551667/

相关文章:

ios - fprintf 导致设备崩溃但模拟器不崩溃?

swift - Firebase 按顺序获取数据

iphone - 我需要 OpenGL ES 1.1 来渲染带有纹理的对象,而其他对象只需要简单的顶点绘制和颜色

ios - Storyboard忽略 UIInterfaceOrientation 设置

ios - 在 Xcode 10 中对 Xcode 项目文件进行排序,以清除项目文件更改

c# - 为什么我的控制台应用程序从 System32 运行?

swift - 如何使用 iBeacon?

swift - 无法将类型 '[Int]' 的值转换为预期的参数类型 'Int'

ios - 在 7.1 设备 swift xcode6 beta 3 上调试时出错

c# - 如何在 C# 中强制解锁文件?