XCUITest 将参数传递给测试
XCUITest pass arguments to the test
我有一个应用程序可以在各种情况下显示许多弹出窗口,我想使用 XCUITest 验证它们的文本。但希望能够毫不费力地为多个文本配置做到这一点。例如多种语言。
有没有办法通过 .xctestrun 文件或通过“xcodebuild test-without-building”命令传递参数?某种方式来传递字典,或者我可以在 XCTestCase
开头解析的文件以了解要预测的正确文本值?最好不需要重建项目。
找到答案了。
测试主机(和您的 XCTestCase
s)可以使用 NSProcessInfo.processInfo.environment
和 NSProcessInfo.processInfo.arguments
.
查看其与测试目标相同的参数
使用XCode中“测试”的方案,您可以添加测试主机本身可以读取的参数和环境变量。测试主机可以使用上面提到的进程信息来读取这些。
另一种方法是编辑测试的 xctestrun 文件。在其中,您可以将键 CommandLineArguments
添加为进程信息参数的字符串数组,或将 EnvironmentVariables
添加为从键到字符串值的字典。
手动将 arguments/variables 添加到 xctestrun 文件的一种简单方法是首先将它们添加到 XCode 中的测试方案,查看 xctestrun 文件的更改,并相应地修改它们。
其他 xctestrun 变量在 https://www.manpagez.com/man/5/xcodebuild.xctestrun/
中描述
我有一个应用程序可以在各种情况下显示许多弹出窗口,我想使用 XCUITest 验证它们的文本。但希望能够毫不费力地为多个文本配置做到这一点。例如多种语言。
有没有办法通过 .xctestrun 文件或通过“xcodebuild test-without-building”命令传递参数?某种方式来传递字典,或者我可以在 XCTestCase
开头解析的文件以了解要预测的正确文本值?最好不需要重建项目。
找到答案了。
测试主机(和您的 XCTestCase
s)可以使用 NSProcessInfo.processInfo.environment
和 NSProcessInfo.processInfo.arguments
.
使用XCode中“测试”的方案,您可以添加测试主机本身可以读取的参数和环境变量。测试主机可以使用上面提到的进程信息来读取这些。
另一种方法是编辑测试的 xctestrun 文件。在其中,您可以将键 CommandLineArguments
添加为进程信息参数的字符串数组,或将 EnvironmentVariables
添加为从键到字符串值的字典。
手动将 arguments/variables 添加到 xctestrun 文件的一种简单方法是首先将它们添加到 XCode 中的测试方案,查看 xctestrun 文件的更改,并相应地修改它们。
其他 xctestrun 变量在 https://www.manpagez.com/man/5/xcodebuild.xctestrun/
中描述