【问题标题】:Access ID does not work when testing a textfield with `isSecureTextEntry = true`使用 `isSecureTextEntry = true` 测试文本字段时,访问 ID 不起作用
【发布时间】:2018-01-15 00:58:30
【问题描述】:

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

我的测试很简单:

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

    XCTAssertTrue(passwordTextField.isHittable)
}

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

“没有找到匹配项:从输入 {( 文本字段,0x600000193e80,特征:146029150208,标识符:“电子邮件”,占位符值:“电子邮件” )}"。

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

【问题讨论】:

    标签: swift xcode io xctest xcuitest


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2015-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-14
      • 1970-01-01
      • 2018-06-06
      • 1970-01-01
      相关资源
      最近更新 更多