iOS XCUITest模拟指纹

iOS XCUITest simulate fingerprint

我正在使用本机工具编写自动化 UI 测试。在一个流程上弹出指纹认证。我怎样才能通过它,前进到下一个屏幕?

您不能在 UITest 中伪造指纹。要通过身份验证并测试应用中被 TouchID 提示屏蔽的部分,您可以 运行 在未启用 TouchID 的设备上进行测试。或者 运行 在模拟器上使用它(不启用 TouchID)。

当未启用 TouchID 时,OS 会要求您提供设备的密码。您可以输入密码并通过身份验证。当 运行 在模拟器上进行测试时,您可以输入任何内容作为密码。总会过去的。

下面是一个通过输入密码通过身份验证的示例测试:

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
   ....
}