Ios 在Xcode模拟器中进行简单但独立的视图控制器UI测试可能吗?
是否可以使用Xcode模拟器运行UI测试,例如,通过从Ios 在Xcode模拟器中进行简单但独立的视图控制器UI测试可能吗?,ios,xcode,xctest,xcode-ui-testing,ui-testing,Ios,Xcode,Xctest,Xcode Ui Testing,Ui Testing,是否可以使用Xcode模拟器运行UI测试,例如,通过从XCTestCase手动启动视图控制器?我熟悉通过Swift中的NSProcessInfo(或ProcessInfo)为测试配置环境,但我有一个特定的例子,在这个例子中,只需显示一个视图控制器并在其上运行一系列手势就更容易了。。。而不是在特定条件下导航到它 虽然我可以创建另一个目标,然后进行UI测试,但我想知道是否有更简单的方法。您不能手动初始化XCTestCase类中的UIViewController(或任何其他UIKit类)并在其上运行U
XCTestCase
手动启动视图控制器?我熟悉通过Swift中的NSProcessInfo
(或ProcessInfo
)为测试配置环境,但我有一个特定的例子,在这个例子中,只需显示一个视图控制器并在其上运行一系列手势就更容易了。。。而不是在特定条件下导航到它
虽然我可以创建另一个目标,然后进行UI测试,但我想知道是否有更简单的方法。您不能手动初始化
XCTestCase
类中的UIViewController
(或任何其他UIKit
类)并在其上运行UITests
UITest测试代码作为一个单独的进程运行,合成应用程序中的UI响应的事件。换句话说,您在UITests中编写的代码在测试运行程序应用程序上运行,该应用程序与您测试的应用程序交互。Test Runner应用程序只能与主应用程序的UI元素交互。它无法直接访问主应用程序的代码或视图层次结构。因此,您不能在测试期间添加UIViewController
正如您在问题中已经提到的,您可以添加另一个仅显示要测试的视图控制器的目标。但对我来说,这听起来不太实际
或者(正如您还提到的)您可以在UITest中设置
XUIApplication().launchArguments
,并在设置启动参数后直接在app start上显示ViewController。这在单元测试中可能,而不是在UI测试中可能:((可能的用途是在单元测试中将当前视图与printscreen进行比较的测试)