XCUIApplication で設定された launchEnvironment と launchArguments にアクセスし、XCode で UI テストを実行するにはどうすればよいでしょうか? 質問する

XCUIApplication で設定された launchEnvironment と launchArguments にアクセスし、XCode で UI テストを実行するにはどうすればよいでしょうか? 質問する

XCUIApplicationUIテストでインスタンスに属性を設定してみましたsetUp()

let app = XCUIApplication()
app.launchEnvironment = ["testenv" : "testenvValue"]
app.launchArguments = ["anArgument"]
app.launch()

didFinishLaunchUITestsを実行するときにこれらを画面に表示しようとしました

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    if launchOptions != nil {
        for (key, value) in launchOptions! {  
            let alertView = UIAlertView(title: key.description, message: value.description, delegate: nil, cancelButtonTitle: "ok")
            alertView.show()
        }
    }

しかし、設定した引数と環境が見つからないようです。それらを入手する方法をご存知の方はいらっしゃいますか?

ベストアンサー1

launchArgumentsUI テスト (Swift) で設定する場合:

let app = XCUIApplication()
app.launchArguments.append("SNAPSHOT")
app.launch()

次に、次の操作を行ってアプリで読み取ります。

スイフト 2.x:

if NSProcessInfo.processInfo().arguments.contains("SNAPSHOT") {
   // Do snapshot setup
}

スウィフト3.0

if ProcessInfo.processInfo.arguments.contains("SNAPSHOT") {
}

環境変数を設定するには、代わりにそれぞれlaunchEnvironmentと を使用します。NSProcessInfo.processInfo().environment

おすすめ記事