我已经在各自的 Microsoft Github 存储库中发布了 问题,但鉴于他们将我重定向到 Stackoverflow,我将在此处重新发布问题。
我的问题是:如何从 Azure DevOps 在 Microsoft AppCenter 中运行自动化 XCUITests?
我研究了有关如何从控制台手动构建应用程序然后将其上传到 AppCenter(有效)的文档。现在我想使用官方的Azure App Center Test task,它应该做类似的事情。不幸的是,这两个文档有很大不同,我不知道我必须为该步骤提供什么信息才能使其正常工作。
我注意到的最大区别是 AppCenter 文档使用“build-for-testing”和一个 DerivedData 目录来构建上传的内容,而 AppCenterTest 任务需要一个 IPA、一个构建目录和一个测试 IPA 路径。如何获得这些神器?
我试过这样的事情:
- task: Xcode@5
inputs:
actions: 'clean build test'
configuration: 'Debug'
sdk: 'iphoneos'
xcWorkspacePath: 'MyProject/MyProject.xcworkspace'
scheme: 'MyProject'
packageApp: true
exportPath: '$(build.artifactStagingDirectory)/debug'
signingOption: 'manual'
signingIdentity: '$(APPLE_CERTIFICATE_SIGNING_IDENTITY)'
provisioningProfileUuid: '$(APPLE_PROV_PROFILE_UUID)'
destinationPlatformOption: 'iOS'
destinationSimulators: 'iPhone 11'
publishJUnitResults: true
- task: Xcode@5
inputs:
actions: 'build-for-testing'
configuration: 'Debug'
sdk: 'iphoneos'
xcWorkspacePath: 'MyProject/MyProject.xcworkspace'
scheme: 'MyProject'
packageApp: false
args: '-derivedDataPath $(build.artifactStagingDirectory)/DerivedData'
- task: AppCenterTest@1
inputs:
appFile: '$(build.artifactStagingDirectory)/DerivedData/Build/Products/Debug-iphoneos/MyProject.app'
artifactsDirectory: '$(build.artifactStagingDirectory)/AppCenterTest'
frameworkOption: 'xcuitest'
xcUITestBuildDirectory: '$(ProjectDir)/Build/Products/Debug-iphoneos'
xcUITestIpaFile: '$(build.artifactStagingDirectory)/DerivedData/Build/Products/Debug-iphoneos/MyProjectUITests-Runner.app'
credentialsOption: 'serviceEndpoint'
serverEndpoint: 'MyCustomer AppCenter Deployment'
appSlug: 'MyCustomer/MyProject-iOS'
devices: 'iphoneDevices'
localeOption: 'en_US'
skipWaitingForResults: true
但我收到类似的错误##[error]Error: Cannot find any file based on /Users/runner/runners/2.163.1/work/1/a/DerivedData/Build/Products/Debug-iphoneos/MyProject.app
有没有人有一个完整的工作示例并且可以提供一个示例 YAML 文件:
- 使用至少有一个 UI 测试的 XCode 构建本机 iOS 应用程序
- 将应用上传到 AppCenter 并在真实设备上运行该 UI 测试