我正在使用本机工具编写自动化UI测试。在一个流程中,有一个指纹认证。我怎样才能通过它,继续前进到下一个屏幕?
答案 0 :(得分:5)
你不能伪造UITest中的指纹。要通过身份验证并测试由TouchID提示屏蔽的应用程序部分,您可以在未启用TouchID的设备上运行测试。或者在模拟器上运行它(不启用TouchID)。
如果未启用TouchID,操作系统会要求您提供设备的密码。您可以输入密码并传递身份验证。在模拟器上运行测试时,您可以输入任何密码。它将永远通过。
以下是通过输入密码传递身份验证的示例测试:
func testExample() {
let springboard = XCUIApplication(bundleIdentifier: "com.apple.springboard")
let app = XCUIApplication()
app.launch()
// this causes the authentication prompt to be displayed
app.buttons["Press Me!"].tap()
let passcodeInput = springboard.secureTextFields["Passcode field"]
passcodeInput.tap()
passcodeInput.typeText("abc\r")
// continue test
....
}