在 Xcode 方案中启动参数
Launch Arguments in Xcode schemes
我在看 SwiftMonkey。 link 是:
https://github.com/zalando/SwiftMonkey
他们说使用命令行标志,如:
if CommandLine.arguments.contains("--MonkeyPaws") {
paws = MonkeyPaws(view: window!)
}
并说使用命令行标志:
let application = XCUIApplication()
application.launchArguments = ["--MonkeyPaws"]
我在 Xcode 中尝试通过为 UITesting 创建一个新方案来做到这一点,然后在启动时添加参数:
这适用于主要方案,但不适用于 UITest(当我将参数放在方案的 运行 或测试部分时,参数不存在)。
我可以从模拟器启动测试:
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
如何向我的方案传递参数?
您可以使用 XCUIApplication
上的 launchArguments
属性 将 UI 测试的启动参数发送到被测应用程序:
let app = XCUIApplication()
app.launchArguments = ["--MonkeyPaws"]
app.launch()
我在看 SwiftMonkey。 link 是: https://github.com/zalando/SwiftMonkey
他们说使用命令行标志,如:
if CommandLine.arguments.contains("--MonkeyPaws") {
paws = MonkeyPaws(view: window!)
}
并说使用命令行标志:
let application = XCUIApplication()
application.launchArguments = ["--MonkeyPaws"]
我在 Xcode 中尝试通过为 UITesting 创建一个新方案来做到这一点,然后在启动时添加参数:
我可以从模拟器启动测试:
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
如何向我的方案传递参数?
您可以使用 XCUIApplication
上的 launchArguments
属性 将 UI 测试的启动参数发送到被测应用程序:
let app = XCUIApplication()
app.launchArguments = ["--MonkeyPaws"]
app.launch()