如何从 XCUIApplication 对象访问当前的 SceneDelegate?

Posted

技术标签:

【中文标题】如何从 XCUIApplication 对象访问当前的 SceneDelegate?【英文标题】:How does one access the current SceneDelegate from a XCUIApplication object? 【发布时间】:2021-06-24 12:16:03 【问题描述】:

我浏览了官方文档和 Xcode 中的自动完成选项,但找不到任何东西。

【问题讨论】:

【参考方案1】:

UI 测试不应为您提供应用程序代码访问权限。您可以像用户一样测试它们(黑盒测试)。

在当前屏幕上,

    找到一个带有“开始”标签的按钮 点击它 向上滑动等

您可以像用户使用应用程序一样锻炼应用程序,点击 A,等待 B 出现在屏幕上等。

【讨论】:

好的,那么我应该如何在以允许我使用 XCTest 的方式导航时访问应用程序代码? @thanat0sis 这是一个不同的问题。 UI 测试和单元测试分开运行,而不是一起运行。 你是说理论上不可能吗? 从 UI 测试目标中,您无法获得应用代码的访问权限 - 仅此而已。单元测试目标将允许您测试您想要练习的代码的任何部分(模型或 UI 代码)。 XCUITests 在后台使用 SIRI 代码库 + 辅助功能代码库。您可以使用捆绑标识符访问应用程序,并激活应用程序的会话。你的应用程序是一个黑盒子,你可以发送一些东西,然后你会在不知道后台实际发生的事情的情况下得到一些回报

以上是关于如何从 XCUIApplication 对象访问当前的 SceneDelegate?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 swift UITests 中的 XCUIApplication 中设置暗模式?

XCUIApplication 替换 UIATarget captureScreenWithName()

XCUIApplication 的通用点击函数

XCUIApplication 仅适用于 iOS 9.0 或更新版本,swift3

如何从 Sharepoint 2010 沙盒中的单独线程访问 SPSite 对象

XC测试。检测访问图库警报视图