如何通过Jenkins运行appcenter命令

问题描述 投票:0回答:2

为了执行 Xamarin Test Cloud 测试,您必须执行 appcenter 命令,例如

appcenter test run uitest --app "appName" --devices 228faeda --app-path *appPath*  --test-series "master" --locale "en_US" --build-dir *debugFolderPath*

这非常有效。

我想通过 Jenkins 触发这个命令。

  • 我使用上面显示的命令添加了“执行Windows批处理命令”。

  • 我执行构建。

但是我在控制台输出中收到以下错误

“C:\Program Files (x86)\Jenkins\workspace\Xamarin Test Cloud Android>appcenter “appcenter”未被识别为内部或外部命令, 可运行的程序或批处理文件。”

这是为什么?

谢谢

xamarin jenkins xamarin.uitest visual-studio-app-center visual-studio-app-center-test
2个回答
9
投票

确保先安装appcenter-cli。

npm install -g [email protected]

用于应用程序中心测试的 Bash 脚本

下面是我用于 CI 的 bash 脚本。要实现它,您首先需要从应用程序中心获取身份验证令牌。

手动检索 API 令牌

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

使用 App Center CLI,输入以下命令,将

[Name Of Token]
替换为您想要命名此令牌的任何内容

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

它将提供如下响应:

ID:[唯一指南]

API令牌:[唯一的API令牌]

描述:[代币名称]

创建于:[时间戳]

应用中心测试 CI 脚本

bash 脚本执行以下操作:

  1. 找到 UI 测试构建目录
    • [My UI Test Assembly Name]
      替换为您的 UI 测试程序集的名称
  2. 找到APK文件
  3. 安装应用中心cli
  4. 使用API Token登录App Center
    • [login token]
      替换为您的登录令牌的值
    • [Your App Center App Name]
      替换为您的应用名称的值
    • [Your Device Id]
      替换为您的设备 ID 的值
#!/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 [email protected]

appcenter login --token [login token]

appcenter test run uitest --app "[Your App Center App Name]" --devices [Your Device Id] --app-path $APKFile --test-series "master" --locale "en_US" --build-dir $UITestBuildDir --async

0
投票

对我来说,有效的是将其添加到管道中:

environment {
        PATH = "C:\\Users\\your_user\\AppData\\Roaming\\npm;${env.PATH}"
    }
© www.soinside.com 2019 - 2024. All rights reserved.