【问题标题】:XCUITest pass arguments to the testXCUITest 将参数传递给测试
【发布时间】:2021-05-25 23:39:29
【问题描述】:

我有一个可以在各种场景中显示许多弹出窗口的应用程序,我想使用 XCUITest 验证它们的文本。但希望能够不费吹灰之力地完成多个文本配置。例如,适用于多种语言。

有没有办法通过 .xctestrun 文件或通过“xcodebuild test-without-building”命令传递参数?某种传递字典的方法,或者我可以在XCTestCase 开头解析的文件以了解要预测的正确文本值?最好不需要重建项目。

【问题讨论】:

    标签: xcodebuild xcuitest xctestcase


    【解决方案1】:

    找到了答案。 测试主机(以及您的XCTestCases)可以使用NSProcessInfo.processInfo.environmentNSProcessInfo.processInfo.arguments 来查看与测试目标相同的参数。

    使用 XCode 中的“测试”方案,您可以添加测试主机本身可以读取的参数和环境变量。测试主机可以使用上面提到的进程信息来读取这些。

    另一种方法是为您的测试编辑 xctestrun 文件。在其中,您可以将键 CommandLineArguments 添加为进程信息参数的字符串数组,或将 EnvironmentVariables 添加为从键到字符串值的字典。 手动将参数/变量添加到 xctestrun 文件的一种简单方法是首先将它们添加到 XCode 中的测试方案中,查看对 xctestrun 文件的更改,并相应地修改它们。

    其他 xctestrun 变量在https://www.manpagez.com/man/5/xcodebuild.xctestrun/中描述

    【讨论】:

    • 同样的方法,更简单:启动参数显示为 UserDefaults 变量。
    猜你喜欢
    • 2015-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多