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?的主要内容,如果未能解决你的问题,请参考以下文章
如何使 UIControl 在 XCUITest 中显示为按钮?
Xcode 11 Export for Localization 不起作用,Include Screenshots 功能被禁用,并且在测试日志中找不到 XCUITest 屏幕截图附件