是否可以使用 Xcode 模拟器运行 UI 测试,例如,通过从 XCTestCase
手动启动 View Controller ?我熟悉在 Swift 中通过 NSProcessInfo
(或 ProcessInfo
)配置测试环境,但在某些情况下,仅显示它确实更容易单个 View Controller 并在其上运行一系列手势...与在特定条件下导航到它相对。
虽然我可以创建另一个目标来执行此操作,然后为此进行 UI 测试,但我想知道是否有更简单的方法。
最佳答案
您不能在 XCTestCase
类中手动初始化 UIViewController
(或任何其他 UIKit
类)并在其上运行 UITests。
您的 UITest 测试代码作为一个单独的进程运行,综合您应用中的 UI 响应的事件。换句话说,您在 UITests 中编写的代码在与您测试的应用程序交互的测试运行器应用程序上运行。 Test Runner 应用程序只能与主应用程序的 UI 元素交互。它无法直接访问主应用程序的代码或查看层次结构。所以你不能在测试期间添加 UIViewController
。
正如您在问题中已经提到的,您可以添加另一个目标,该目标仅显示您要测试的 View Controller 。但这对我来说听起来不太实际。
或者(正如您还提到的)您可以在 UITest 中设置 XUIApplication().launchArguments
并在设置启动参数后直接在应用程序启动时显示 ViewController。
关于ios - 可以在 Xcode Simulator 中进行直接但独立的 View Controller UI 测试吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53535963/