Как запустить команду appcenter через Jenkins

Чтобы выполнить тесты Xamarin Test Cloud, вы должны выполнить команду appcenter, например.

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

Это прекрасно работает.

Я хочу запустить эту команду через Дженкинса.

  • Я добавил «Выполнить пакетную команду Windows» с помощью команды, показанной выше.

  • Выполняю сборку.

Но я получаю следующую ошибку в выводе консоли

«C: \ Program Files (x86) \ Jenkins \ workspace \ Xamarin Test Cloud Android> appcenter 'appcenter' не распознается как внутренняя или внешняя команда, работающая программа или пакетный файл».

Это почему?

Спасибо


comment
вам нужно указать полный путь к appcenter exe или иным образом установить переменную среды с путем   -  person Jason    schedule 06.04.2018


Ответы (1)


Обязательно сначала установите appcenter-cli.

npm install -g [email protected]

Bash Script для тестирования App Center

Ниже приведен сценарий bash, который я использую для своего CI. Чтобы реализовать его, вам сначала нужно получить токен аутентификации из App Center.

Получить токен API вручную

CLI Центра приложений требует, чтобы пользователь был вошли в систему, и мы можем войти в систему с нашего сервера сборки, предоставив токен входа.

Используя интерфейс командной строки App Center, введите следующую команду, заменив [Name Of Token] на то, что вы хотите назвать этот токен.

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

Он даст такой ответ:

ID: [Уникальный идентификатор]

Токен API: [Уникальный токен API]

Описание: [Название токена]

Дата создания: [отметка времени]

Сценарий CI тестирования App Center

Сценарий bash делает следующее:

  1. Locate the UI Test Build Directory
    • Replace [My UI Test Assembly Name] with the name of your UI Test assembly
  2. Найдите файл APK
  3. Установите appcenter cli
  4. Log in to App Center using the API Token
    • Replace [login token] with the value of your login token
    • Замените [Your App Center App Name] значением имени вашего приложения.
    • Замените [Your Device 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
person Brandon Minnick    schedule 07.04.2018