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
....
}
我正在使用本机工具编写自动化 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
....
}