[英]How to access xcconfig variables from XCUITest code
我需要访问一个名为 ENV 的环境变量,该变量在我的主应用程序目标的 xcconfig 文件中设置,但从我的 UI 测试目标内部。
在进行了大量的谷歌搜索之后,这是我尝试过的:
ENV=$(ENV)
print(ProcessInfo.processInfo.environment)
但是$(ENV)
并没有扩展到实际价值。
我还尝试在 UITest 目标的Info.plist
添加自定义条目
<key>ENV</key>
<string>$(ENV)</string>
然后通过Bundle.main.infoDictionary
访问它,但我再次得到字符串$(ENV)
。 知道我遗漏了什么,还是因为 UI 测试在 Xcode 中的工作方式而无法实现?
您需要做的是使用应用程序目标的 xcconfig 作为测试目标的构建配置。 或者,如果您需要特定测试目标的构建配置,您可以将应用程序的 xcconfig 包含到您的测试目标 xcconfig 中。
然后在您的测试计划设置中,您将测试计划环境变量定义为 ENV=$(ENV)
基本上:apptarget.xcconfig: ENV=appenv
testtarget.xcconfig: #include apptarget.xcconfig
在您定义的 testPlan 环境中: ENV=$(ENV)
XCConfig 在构建期间使用。 $(ENV) 必须在构建时间扩展到您想要的值。 您将通过使用 apptarget.xcconfig 作为测试目标的 xcconfig 或将其包含到您的 testarget.xcconfig 中来完成此操作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.