所以我正在尝试访问并确认我的 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
(或者只是没有设置),测试顺利通过
最佳答案
好吧,一位同事刚刚为我发现,当通过其 accessabilityidentifier
和 isSecureTextEntry
设置为 true 测试和查找文本字段时,现在可以在测试中找到该文本字段作为 secureTextFields
所以我的测试像以前一样通过,但现在看起来像这样:
func testHasPasswordTextField() {
let passwordTextField = app.secureTextFields[AccesID.passwordTextField]
XCTAssertTrue(passwordTextField.isHittable)
}
关于swift - 使用 `isSecureTextEntry = true` 测试文本字段时访问 ID 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45551667/