【发布时间】:2017-05-13 12:38:29
【问题描述】:
我目前正在尝试在我的 iOS 应用程序中进行一些测试,但我遇到了问题。
这是我的代码(我会在后面解释这个问题):
let passwordField = app.secureTextFields["Password"]
passwordField.tap()
passwordField.typeText("Password")
let password = passwordField.value as? String
guard let testPassword = password, !testPassword.isEmpty else {
XCTFail("Authentication tests failed : password field is wrongly formatted.")
return
}
XCTAssertNotEqual(password, "Random password")
XCTAssertEqual(password, "Password")
XCTAssertNotEqual 部分很好,但 XCTAssertEqual 不是。 这是错误:
XCTAssertEqual failed : (“Optional(“********”)”) is not equal to (“Optional(“Password”)”)
有谁知道为什么会抛出这个错误?我想我必须“玩”这个事实,这是一个安全的文本,但我还没有找到任何答案。
感谢您的帮助。
【问题讨论】:
-
我认为您应该在 UITextField 中访问
text而不是value。 -
不幸的是,它不是 UITextField(它是 XCUIElement),所以我可以获得“测试”的唯一方法是获取所需类型的字段转换值。
标签: ios swift unit-testing testing xcode-ui-testing