Xcode 方案中的启动参数
Posted
技术标签:
【中文标题】Xcode 方案中的启动参数【英文标题】:Launch Arguments in Xcode schemes 【发布时间】:2019-07-13 07:10:39 【问题描述】:我在看 SwiftMonkey。链接是: https://github.com/zalando/SwiftMonkey
他们说要使用命令行标志,如下所示:
if CommandLine.arguments.contains("--MonkeyPaws")
paws = MonkeyPaws(view: window!)
并说使用命令行标志:
let application = XCUIApplication()
application.launchArguments = ["--MonkeyPaws"]
我尝试在 Xcode 中通过为 UITesting 创建一个新方案然后在启动时添加参数来做到这一点:
这适用于主方案,但不适用于 UITests(当我将参数放在方案的运行或测试部分时,参数不存在)。
我可以从模拟器启动测试:
xcodebuild -workspace SwiftMonkeyTutorial.xcworkspace -scheme "SwiftMonkeyTutorialUITests" -sdk iphonesimulator -destination 'platform=ios Simulator,name=iPhone 8,OS=12.2' test
但添加如下参数会产生“invalid option '-- MonkeyPaws'”的错误
xcodebuild -workspace SwiftMonkeyTutorial.xcworkspace -scheme "SwiftMonkeyTutorialUITests" -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 8,OS=12.2' test --MonkeyPaws
如何将参数传递给我的方案?
【问题讨论】:
您是否在最后一个代码块中将MoneyPaws
错误输入为MonkeyPass
?
嗯,是的,但这无关紧要,因为仍然不是一个公认的论点
你想通过这个最终实现什么?即为什么不能在 XCUIApplication 上使用 launchArguments var?
@Oletha 这就是答案(我不知道启动参数)。如果您想获得荣誉,请写下答案)
【参考方案1】:
您可以使用XCUIApplication
上的launchArguments
属性将来自UI 测试的启动参数发送到被测应用程序:
let app = XCUIApplication()
app.launchArguments = ["--MonkeyPaws"]
app.launch()
【讨论】:
以上是关于Xcode 方案中的启动参数的主要内容,如果未能解决你的问题,请参考以下文章