【问题标题】:iOS XCUITest simulate fingerprintiOS XCUITest 模拟指纹
【发布时间】:2017-10-04 20:46:18
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    您不能在 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
       ....
    }
    

    【讨论】:

    • 我知道这有点老了,但这让我很开心!我试图这样做好几天了!我们正在为 iOS 和 Android 构建一个原生应用程序,我已经尝试为此构建一个 XCUI 测试好几天了。谢谢!
    猜你喜欢
    • 2020-01-04
    • 2021-07-27
    • 1970-01-01
    • 1970-01-01
    • 2011-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多