如何从持续集成服务器推送 UI 测试到 App Center 测试

How to Push UI Test to App Center Test from Continuous Integration Server

如何从命令行将 UI 测试连同关联的应用程序推送到 App Center 测试?

我正在使用 CI(持续集成)服务器来构建我的应用程序,我尝试使用 App Center 测试门户提供的以下命令,但它无法正常工作并输出错误,如下:

appcenter test run uitest --app "bminnick/uitestsampleapp" --devices b139e40f --app-path [my apk file path] --test-series "master" --locale "en_US" --build-dir [my UI Test Build Directory]

Command 'appcenter test run uitest' requires a logged in user. Use the 'appcenter login' command to log in

我正在尝试部署一个 Xamarin.Android 应用程序和一个 Xamarin.UITest。

从 CLI 推送到 App Center 测试

1。手动检索 API 令牌

App Center CLI 要求用户登录,我们可以通过提供登录令牌从构建服务器登录。

使用 App Center CLI,输入以下命令,将 [Name Of Token] 替换为您要为此令牌命名的任何内容

appcenter login
appcenter tokens create -d "[Name Of Token]"

它将提供这样的响应:

ID: [Unique Guid]

API Token: [Unique API Token]

Description: [Name of Token]

Created at: [Time Stamp]

复制 API 令牌结果。我们将在我们的 CI 脚本中使用它。

2。 CI 服务器

的 App Center 测试脚本

在您的持续集成管道中,使用此 bash 脚本将 APK 文件 + UI 测试推送到 App Center 测试

bash 脚本执行以下操作:

  1. 找到 UI 测试构建目录
    • [My UI Test Assembly Name] 替换为您的 UI 测试程序集的名称
  2. 找到 APK 文件
  3. 安装应用中心客户端
  4. 使用 API 令牌登录 App Center
  5. 将 APK + UI 测试推送到 App Center 测试
#!/usr/bin/env bash

UITestDLL=`find . -name "[My UI Test Assembly Name].dll" | grep bin`
UITestBuildDir=`dirname $UITestDLL`

APKFile=`find . -name *.apk | head -1`

npm install -g appcenter-cli@1.2.2

appcenter login --token [login token from Step 1]

appcenter test run uitest --app "bminnick/uitestsampleapp" --devices b139e40f --app-path $APKFile --test-series "master" --locale "en_US" --build-dir $UITestBuildDir --async