1

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

4

1 回答 1

6

你不能在 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
   ....
}
于 2017-10-06T06:15:21.093 回答