3

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

我的测试很简单:

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

    XCTAssertTrue(passwordTextField.isHittable)
}

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

“未找到匹配项:匹配谓词“密码”IN 标识符的元素来自输入 {(TextField,0x600000193e80,特征:146029150208,标识符:“电子邮件”,占位符值:“电子邮件”)} “。

isSecureTextEntry = false如果(或只是未设置),测试会愉快地通过

4

1 回答 1

6

好的,所以一位同事刚刚为我发现,当测试并通过它找到一个文本字段并将其accessabilityidentifier设置isSecureTextEntry为 true 时,现在可以在测试中找到该文本字段,secureTextFields因此我的测试像以前一样通过但现在看起来像这样:

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

    XCTAssertTrue(passwordTextField.isHittable)
}
于 2017-08-07T16:45:15.260 回答