XCUITest - 如何在应用程序运行时禁用 Wi Fi?

Posted

技术标签:

【中文标题】XCUITest - 如何在应用程序运行时禁用 Wi Fi?【英文标题】:XCUITest - How to disable Wi Fi while app is running? 【发布时间】:2018-03-06 09:12:16 【问题描述】:

我想在运行 XCUITest 时自动化 ios 应用程序的行为。手动执行测试时,我关闭了 wi fi 适配器。我如何使用 Xcode UI 测试来做到这一点?

谢谢

附言我发现我们可以使用下面的命令来禁用 wi fi。但要做到这一点,我需要将我的应用程序发送到后台。我需要在不将当前应用发送到后台的情况下执行此操作。

let settingsApp = XCUIApplication(bundleIdentifier: "com.apple.Preferences")

settingsApp.launch()

settingsApp.tables.cells["Airplane Mode"].tap()

【问题讨论】:

【参考方案1】:

之后您可以使用 XCUIApplication 上的新 activate() 方法重新激活您的应用。它会在不重新启动的情况下恢复您的应用。

    let app = XCUIApplication()
    app.launch()

    let settingsApp = XCUIApplication(bundleIdentifier: "com.apple.Preferences")
    settingsApp.launch()
    settingsApp.tables.cells["Airplane Mode"].tap()

    // Relaunch app without restarting it
    app.activate()

【讨论】:

另外,如果您想知道飞行模式是否在您进入设置之前启用,请尝试let isAirplaneMode = XCUIApplication(bundleIdentifier: "com.apple.springboard").statusBars.images["Airplane mode on"]

以上是关于XCUITest - 如何在应用程序运行时禁用 Wi Fi?的主要内容,如果未能解决你的问题,请参考以下文章