从 XCode UI 测试目标访问项目文件

Posted

技术标签:

【中文标题】从 XCode UI 测试目标访问项目文件【英文标题】:Accessing project files from XCode UI Test Target 【发布时间】:2015-12-07 11:40:47 【问题描述】:

我创建了一个新的 UI 测试目标 来试用新的 XCode 7 UI 测试。除了记录一些步骤之外,我还想在测试中运行一些代码,例如 Utils 类来测试某些情况等,并在测试中采用不同的路径。

有没有办法让我的所有项目文件和库都包含在这个新的 UI 测试目标 中?我可以确保我的源文件包含 Target Membership 复选框中的此 UI 测试目标,但这意味着我必须检查所有文件并手动检查那个盒子?

另外,它如何与 UIKit 框架一起工作?例如,我需要我的测试能够找到 UIScreen 类。

【问题讨论】:

听起来单元测试更适合您搜索。 我已经设置了 UI 测试来实际截屏(使用 fastlane 快照) 没关系。但是如果你想访问代码层上的模块,单元测试更合适。 是的,但我只能让 fastlane 快照与 UI 测试协同工作 所以?您可以在同一个项目中拥有单元测试 UI 测试。 【参考方案1】:

使用 Apple 在 WWDC 15 中引入的新 UI 自动化框架,无法从 UI-Automation 测试中访问您的应用代码。它旨在模拟用户也可以访问什么,这有时会令人沮丧。

UI 测试是独立于应用的模块,因此不会像逻辑测试那样在应用内运行。他们共享代码的唯一方法是编译您需要在两个模块之间共享的所有应用程序文件。希望对您有所帮助。

【讨论】:

以上是关于从 XCode UI 测试目标访问项目文件的主要内容,如果未能解决你的问题,请参考以下文章

如何在现有的 ios 测试项目中启用 xcode 7 UI 测试

如何从 XCTest 中的 UI 目标调用主目标中的方法?

如何从 Xcode UI 测试访问核心数据存储?

UI 测试 + postNotificationName + 永远不会到达观察者 + Xcode 7

Xcode UI 测试(目标 C):通过 Accessibility Label 查找元素

如何为 Xcode UI 测试禁用沙箱