我在看 SwiftMonkey。链接是: 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
但是添加如下参数会产生“无效选项'--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()
关于swift - Xcode 方案中的启动参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57016949/