Xcode方案中的启动参数

时间:2019-07-13 07:10:39

标签: swift xcode xctest

我在看SwiftMonkey。链接是: https://github.com/zalando/SwiftMonkey

他们说使用命令行标记,如下所示:

   if CommandLine.arguments.contains("--MonkeyPaws") {
        paws = MonkeyPaws(view: window!)
    }

并说使用命令行标志:

let application = XCUIApplication()

application.launchArguments = ["--MonkeyPaws"]

我试图通过为UITesting创建新方案在Xcode中做到这一点,然后在启动时添加参数:

enter image description here 这适用于主要方案,但不适用于UITest(将参数放在“方案”的“运行”或“测试”部分时,这些参数不存在)。

我可以从模拟器启动测试:

xcodebuild -workspace SwiftMonkeyTutorial.xcworkspace -scheme "SwiftMonkeyTutorialUITests" -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 8,OS=12.2' test

但是添加如下参数会产生“无效选项'-MonkeyPaws'”错误

xcodebuild -workspace SwiftMonkeyTutorial.xcworkspace -scheme "SwiftMonkeyTutorialUITests" -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 8,OS=12.2' test --MonkeyPaws

如何将参数传递给方案?

1 个答案:

答案 0 :(得分:1)

您可以使用launchArguments上的XCUIApplication属性,将UI测试中的启动参数发送到被测应用程序:

let app = XCUIApplication()
app.launchArguments = ["--MonkeyPaws"]
app.launch()