swift - Xcode 方案中的启动参数

标签 swift xcode xctest

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

他们说使用命令行标志如下:

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

并说使用命令行标志:

let application = XCUIApplication()

application.launchArguments = ["--MonkeyPaws"]

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

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

如何将参数传递给我的方案?

最佳答案

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

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

关于swift - Xcode 方案中的启动参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57016949/

相关文章:

objective-c - 数组速记表达式和方法调用的 XCTAssert 语法错误

iphone - sqlite3 在 iPhone 应用程序中插入或替换语法问题

ios - Xcode 不断提示 .signUp 仅在 iOS 13.2 中可用。这是 Xcode 的 bug 吗?

Xcode 5 Product -> Test 显示为灰色

ios - 无法添加来自不同 Realm iOS 和 Swift 的对象

iphone - 如何在 UIView 中使用 CAAnimation 添加波纹动画

Cordova + XCTest 结果在 'Undefined symbols for architecture i386'

ios - Swift - 在保留顶部 anchor 的同时缩放背景

json - 添加注释会导致在展开可选值时意外发现 nil

ios - Scrollview 中的两个动态 Stackview