当前位置:  开发笔记 > IOS > 正文

Swift UI测试 - 用户通知系统警报

如何解决《SwiftUI测试-用户通知系统警报》经验,为你挑选了0个好方法。

我正试图通过跟随帖子中提供的流程来通过用户通知系统警报,这是在UI测试备忘单和SO上的一些其他帖子中提到的相同流程.

Xcode7 | Xcode UI测试| 如何处理位置服务警报?

我有一个奇怪的问题,我无法按下确定按钮.这是我的代码

    addUIInterruptionMonitorWithDescription("User Notifications") { (alert) -> Bool in
        let okButton = alert.buttons["OK"]
        let dontAllowButton = alert.buttons["Don\u{2019}t Allow"]

        print(okButton.frame)
        print(dontAllowButton.frame)

        okButton.tap() // Taps the dontAllowButton ??

        return true
    }

    launchFinished() // wait for app to load and notification to show
    app.tap()

我使用后,测试成功进入处理程序,app.tap()并且找到并存在按钮,但实际上似乎无法点击确定按钮!当我尝试点击"确定"按钮时,它会点击"不允许"按钮,当我尝试点击"不允许"按钮时,它不会点击任何内容.

按钮的框架也与屏幕上的内容不匹配.

用户通知警报按钮

当我调试并查看它们的帧时:

okButton =(431.5,377.0,44.0,135.0)

dontAllowBtn =(431.5,512.0,44.0,135.0)

这似乎表明它们具有相同的X值,并且一个在另一个之上,这实际上没有任何意义.

此外,我已经尝试使用XCUICoordinate在按钮附近创建一些坐标并点击坐标而不是按钮,这对我在应用程序的其他位置工作正常,但似乎没有坐标点击注册.

我如何通过此警报?

编辑

我在使用Xcode 7.1.1,并且位置服务也出现了同样的问题.它似乎与横向模式有关,这使得它无法正常工作.当我创建一个新的测试应用程序并运行上面的代码时,它在纵向模式下工作正常.当我将其切换到横向模式时,它具有上述行为并且不起作用.

编辑2

我向Apple提交了一份错误报告.

推荐阅读
凹凸曼00威威_694
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有