如何以编程方式获取当前正在运行的 XC 测试计划的配置?

Posted

技术标签:

【中文标题】如何以编程方式获取当前正在运行的 XC 测试计划的配置?【英文标题】:How to get the configurations of current running XC Test plan programmatically? 【发布时间】:2021-02-25 08:26:24 【问题描述】:

问题陈述:

我的测试流程将取决于当前为测试计划运行的配置类型。 我想在Xcode中获取当前正在运行的测试计划的配置名称和环境变量条目,以便根据配置决定在特定测试中执行什么操作。

例如。

我有一个测试计划 XYZ.xctestplan 有两个配置“A”和“B”。我想获取在 XYZ.xctestplan 的当前运行配置中设置的环境变量条目 根据这些环境变量,我将决定在我的 UI 测试中应该点击哪个按钮。

【问题讨论】:

【参考方案1】:

您可以将环境变量拉入,例如命名为“359TZ”,如下所示:

    NSString *key = @"359TZ";
    NSString *tz359 = [NSProcessInfo.processInfo.environment objectForKey:key];

请注意 IIRC,当您从 Xcode 运行时,您会在配置中获取环境变量,但在使用 xcodebuild 运行时不会。 YMMV。

【讨论】:

上面的“NOTE”声明是什么意思。请进一步澄清。意思是如果我使用 xcodebuild 运行我的测试计划,那么我将无法获取环境变量? 截至今天早上,它看起来确实使用 xcodebuild 获取环境变量,但它不尊重 .gpx 文件提供的任何自定义位置。我将不得不对此进行更多研究。 github.com/fastlane/fastlane/issues/1678 显然是一个长期存在的问题 就我而言,我只处理环境。变量。所以我认为它应该对我有用。

以上是关于如何以编程方式获取当前正在运行的 XC 测试计划的配置?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Cocoa 以编程方式获取当前电池电量 [重复]

如何以编程方式从其中一个集群中获取当前的 GKE 项目 ID?

如何在 iOS 6 中以编程方式获取设备的当前方向?

如何以编程方式快速使用情节提要 ID 获取当前视图控制器(当前正在呈现)?

以编程方式获取应用程序池标识

如何以编程方式为原生应用获取 facebook 测试用户令牌