OStack程序员社区-中国程序员成长平台

标题: ios - 在进行 xcode ui 测试执行时从设备关闭 wifi [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 14:17
标题: ios - 在进行 xcode ui 测试执行时从设备关闭 wifi

我在 xcode ui 测试中遇到问题。

也就是说,在我的执行过程中,比在某些情况下

i have to off my wifi

我知道我可以使用命令来做到这一点

networksetup -setairportpower en0 on

我在osx中​​写了一个函数:

func runTerminalCommand(args: String...) -> Int32 {
let task = NSTask()
task.launchPath = "/usr/bin/env"
task.arguments = args
task.launch()
task.waitUntilExit()
return task.terminationStatus

}

如果我在 osx 中使用它,我可以关闭 wifi。

但我不能在我的 ios 应用程序中使用它,或者不能在我的 xcode ui 测试。

在进行 xcode ui 测试时如何关闭我的 wifi?



Best Answer-推荐答案


使用 Xcode 9,您现在可以在运行 UITest 时点击控制中心中的 wifi 按钮。

这是一个小助手功能,可以打开控制中心,点击wifi按钮并再次关闭:

func toggleWiFi() {
    let app = XCUIApplication()
    let springboard = XCUIApplication(bundleIdentifier: "com.apple.springboard")

    // open control center
    let coord1 = app.coordinate(withNormalizedOffset: CGVector(dx: 0.5, dy: 0.99))
    let coord2 = app.coordinate(withNormalizedOffset: CGVector(dx: 0.5, dy: 0.1))
    coord1.press(forDuration: 0.1, thenDragTo: coord2)

    let wifiButton = springboard.switches["wifi-button"]
    wifiButton.tap()

    // open your app back again
    springboard.otherElements["com.your.app.identifier"].tap()
}

请记住,运行测试时您必须使用电缆连接设备;-)

关于ios - 在进行 xcode ui 测试执行时从设备关闭 wifi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39960490/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4