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