首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xcode 7 UI自动化中的Dimiss Id操作

Xcode 7 UI自动化中的Dimiss Id操作
EN

Stack Overflow用户
提问于 2016-03-16 15:31:19
回答 4查看 872关注 0票数 1

我正在使用新的自动化框架在Xcode7中编写UI测试用例,但我无法获得方法名称来验证是否出现触摸提示,然后关闭显示在我的应用程序中的触摸id提示。

EN

回答 4

Stack Overflow用户

发布于 2016-03-24 17:48:14

我不能模拟手指触摸,但我可以使用测试框架中提供的addUIInterruptionMonitorWithDescription api取消触摸id提示。

我使用以下代码关闭了该对话框

代码语言:javascript
复制
  addUIInterruptionMonitorWithDescription("Touch ID") { (alert) -> Bool in
                alert.buttons["Cancel"].tap()
                return true
            }
           app.tap()
票数 1
EN

Stack Overflow用户

发布于 2016-03-22 15:26:35

您可以通过使身份验证LAContext无效来关闭触摸ID提示。关闭TouchID提示符是在ios9中引入的:

代码语言:javascript
复制
func invalidateAuthenticationAlert(authContextObjext: LAContext){

    print("Dismiss current prompt")
    authContextObjext.invalidate()
}

记住:-

  • 上下文在(自动)释放时自动失效。此方法允许在它仍在scope.
  • Invalidation中时手动使其无效,终止任何现有的策略评估,并且相应的调用将失败并返回LAErrorAppCancel。上下文无效后,它将不能用于策略评估,并且尝试执行此操作将失败,因为已经无效的上下文无效。
票数 0
EN

Stack Overflow用户

发布于 2017-10-05 21:42:51

Xcode9中,您可以访问跳板关闭TouchID提示符:

代码语言:javascript
复制
func testExample() {
    let springboard = XCUIApplication(bundleIdentifier: "com.apple.springboard")
    let app = XCUIApplication()
    app.launch()

    // this causes the TouchID prompt to be displayed
    app.buttons["Press Me!"].tap()

    if springboard.alerts.buttons["Cancel"].waitForExistence(timeout: 10) {
        springboard.alerts.buttons["Cancel"].tap()
    }

    // continue test
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36029279

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档