使用“isSecureTextEntry = true”测试文本字段时访问 ID 不起作用
Access ID does not work when testing a textfield with `isSecureTextEntry = true`
所以我正在尝试访问并确认我的 uitests 中是否存在密码文本字段,但是一旦分配给它们 isSecureTextEntry = true
,测试就无法再通过 accessID 找到它们。有谁知道为什么?是否有办法解决这个问题,以便我可以找到它们并在测试中使用它们?最好这样我仍然可以使用访问 ID 在测试中找到它们。
我的测试很简单:
func testHasPasswordTextField() {
let passwordTextField = app.textFields[AccesID.passwordTextField]
XCTAssertTrue(passwordTextField.isHittable)
}
我在 运行 测试时出现以下错误:
"No matches found for Find: Elements matching predicate '"密码" IN identifiers' from input {(
文本字段,0x600000193e80,特征:146029150208,标识符:'Email',占位符值:'Email'
)}".
如果isSecureTextEntry = false
(或者只是不设置)
,则测试顺利通过
好的,所以一位同事刚刚为我发现,当通过 accessabilityidentifier
和 isSecureTextEntry
设置为 true 测试和查找文本字段时,文本字段现在在测试中发现为 secureTextFields
所以我的测试像以前一样通过了,但现在看起来像这样:
func testHasPasswordTextField() {
let passwordTextField = app.secureTextFields[AccesID.passwordTextField]
XCTAssertTrue(passwordTextField.isHittable)
}
所以我正在尝试访问并确认我的 uitests 中是否存在密码文本字段,但是一旦分配给它们 isSecureTextEntry = true
,测试就无法再通过 accessID 找到它们。有谁知道为什么?是否有办法解决这个问题,以便我可以找到它们并在测试中使用它们?最好这样我仍然可以使用访问 ID 在测试中找到它们。
我的测试很简单:
func testHasPasswordTextField() {
let passwordTextField = app.textFields[AccesID.passwordTextField]
XCTAssertTrue(passwordTextField.isHittable)
}
我在 运行 测试时出现以下错误:
"No matches found for Find: Elements matching predicate '"密码" IN identifiers' from input {( 文本字段,0x600000193e80,特征:146029150208,标识符:'Email',占位符值:'Email' )}".
如果isSecureTextEntry = false
(或者只是不设置)
好的,所以一位同事刚刚为我发现,当通过 accessabilityidentifier
和 isSecureTextEntry
设置为 true 测试和查找文本字段时,文本字段现在在测试中发现为 secureTextFields
所以我的测试像以前一样通过了,但现在看起来像这样:
func testHasPasswordTextField() {
let passwordTextField = app.secureTextFields[AccesID.passwordTextField]
XCTAssertTrue(passwordTextField.isHittable)
}