2016-10-10 1 views
2

xcode UIテストで問題が発生しています。xcode UIテストの実行中にデバイスから無線をオフにする

私の実行が起こっている間に、ある一定の条件でより

i have to off my wifi 

私はOSX版で機能を書かれている私はそれを

networksetup -setairportpower en0 on 

を行うためにコマンドを使用することができることを知っています:

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をオフにする方法はありますか?

+0

このコードを呼び出すボタンをアプリケーションに追加できますか? http://stackoverflow.com/questions/14653058/disable-wifi-on-iphone-using-objective-c –

答えて

3

Xcode 9これで、UITestを実行中にコントロールセンターのwifiボタンをタップすることができます。ここで

は、コントロールセンターを開き、小さなヘルパー関数である無線LANのボタンをタップして、もう一度それを閉じます。

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.5)) 
    coord1.press(forDuration: 0.1, thenDragTo: coord2) 

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

    // close control center 
    let coord3 = app.coordinate(withNormalizedOffset: CGVector(dx: 0.5, dy: 0.1)) 
    coord3.tap() 
} 

ちょうどあなたがテストを実行しているケーブルを使用してデバイスを接続しなければならないことを覚えておいてください。 - )

関連する問題