iOS XCUITest模拟指纹

时间:2017-10-04 20:46:18

标签: ios swift fingerprint xcode-ui-testing xcuitest

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

1 个答案:

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