使用 AzureDevOps 构建浓缩咖啡测试并将其上传到 Browserstack

Building & uploading espresso tests to Browserstack using AzureDevOps

我正在关注 this link 如何 运行 在 Browserstack 上进行自动浓缩咖啡测试。我想使用我创建的天蓝色管道将那里提到的所需 APK 上传到 Browserstack。正如您在下面的 .yaml 文件中所见,我已经成功构建并上传了我的应用程序的 APK,但我不知道如何通过 azure 为我的测试 class 生成测试 APK,以便我可以上传它到浏览器堆栈。上面的指南提到上传测试套件,它们是指构建和 运行 测试 class 文件时生成的 APK 吗?如果是这样,我是不是需要通过azure更改构建配置,然后重新构建?

pool:
  vmImage: ubuntu-latest

# build apk
- task: Gradle@2
  inputs:
    workingDirectory: ''
    gradleWrapperFile: 'gradlew'
    gradleOptions: '-Xmx3072m'
    publishJUnitResults: false
    testResultsFiles: '**/TEST-*.xml'
    tasks: 'assembleDebug'

# retain the apk artifact
- task: CopyFiles@2
  inputs:
    contents: '**/*.apk'
    targetFolder: '$(build.artifactStagingDirectory)'

- task: BrowserStackConfig@0
  inputs:
    BrowserStackServiceEndPoint: 'BrowserStack connection'

# Upload apk to BrowserStack
- task: BrowserStackAppUploader@0
  inputs:
    appPath: '/my/path/debug/presentation-google-debug.apk'
    appCustomId: 'myID'
  displayName: 'Uploading apk to BrowserStack'

# build and upload test apk here

# post test results
- task: BrowserStackResults@0

您需要根据您的设置添加构建测试套件 APK 的步骤。

要上传测试套件并触发测试,您可以使用类似的东西:

- script: |

   echo "upload test suite"

   curl -u "username:access_key" \
   -X POST "https://api-cloud.browserstack.com/app-automate/espresso/v2/test-suite" \
   -F "file=@/path/to/app/file/Application-debug-test.apk" \
   -F "custom_id=SampleTest"
 
   echo "triggering test" 
   
   curl -u "username:access_key" \
   -X POST "https://api-cloud.browserstack.com/app-automate/espresso/v2/build" \
   -d '{"app": "myID", "testSuite": "SampleTest", "devices": ["Samsung Galaxy S9 Plus-9.0"]}' \
   -H "Content-Type: application/json" 

  displayName: 'uploading test suite and triggering test'