Xcode 7 开始,我们有了一个不错的用于UI测试的API。
大多数情况下,我对此感到满意。唯一需要关注的是速度。

在开始时,一个普通的UI测试用例(大约15个 Action )运行了大约 25秒。然后,我完全 mock 了网络。现在需要 20秒。考虑到只有动画和启动时间(1秒或更短的时间)占用时间这一事实,我认为必须有一种方法可以加快速度。

最佳答案

当您的UI测试运行时,请尝试设置此属性:

UIApplication.shared.keyWindow?.layer.speed = 100

这是我的设置方式:
func application(_ application: UIApplication,
                 didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

    if ProcessInfo.processInfo.arguments.contains("UITests") {
        UIApplication.shared.keyWindow?.layer.speed = 100
    }
}

在我的UI测试中:
class MyAppUITests: XCTestCase {

    // MARK: - SetUp / TearDown

    override func setUp() {
        super.setUp()

        let app = XCUIApplication()
        app.launchArguments = ["UITests"]
        app.launch()
    }
}

blog post中还有一些方便的技巧。

关于ios - 如何加快Xcode中的UI测试用例?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37282350/

10-12 03:52