在设备上运行时在我的 XCUITest 包 ID 中自动附加 .xctrunner

Posted

技术标签:

【中文标题】在设备上运行时在我的 XCUITest 包 ID 中自动附加 .xctrunner【英文标题】:Automatic appended .xctrunner in my XCUITest bundle id while running on device 【发布时间】:2020-07-27 11:41:10 【问题描述】:

更新到 Xcode 11.3 后,我的所有测试用例都停止工作,因为附加了捆绑 ID 的不必要文本 .xctrunner

示例 - 如果我将 bundle id 指定为 abc.com,那么它会在运行时显示 abc.com.xctrunner

【问题讨论】:

你的意思是 11.3 / 12 beta 3? XCode 11.3 更新了我的答案。 您找到解决方案了吗? @kye 没有找到解决方案并创建了通配符配置文件来解决问题。 【参考方案1】:

XCode 11 更改了构建 xcuitest 的格式。要在设备上运行 UI 测试,请为“$YOUR_TEST_BUNDLE_ID.xctrunner”创建 AppId 和配置文件。

为没有 xctrunner 的测试目标设置包 ID,例如“$YOUR_TEST_BUNDLE_ID”

这是我的 ios 和 Catalyst 的 Fastlane 匹配配置。

PRODUCT_BUNDLE_IDENTIFIER = com.test
PROVISIONING_PROFILE_SPECIFIER[sdk=*] = match Development com.test.xctrunner
PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*] = match Development com.test.xctrunner catalyst

一个恼人的 Xcode 问题是,UITest 目标的签名和功能显示状态错误。因为配置文件不匹配但没有构建错误并且 UI 测试工作正常。状态错误有点隐藏,但喜欢解决它。

【讨论】:

以上是关于在设备上运行时在我的 XCUITest 包 ID 中自动附加 .xctrunner的主要内容,如果未能解决你的问题,请参考以下文章

如何打印 XCUITest 中的所有静态文本

应用程序图标在 iOS 13 设备上不在屏幕上,无法通过 XCUITest 按下

如何在真实设备上运行 Android 应用程序?

运行 XCUITest 自动化后获取应用程序的控制台/文件日志和视频

我正在尝试在我的设备上获得真实的广告,但应用在我的 Android 应用上显示测试广告

iOS XCUITest 模拟指纹