Выполнение тестов транспортира e2e из Visual Studio Team Services

У меня возникли проблемы с запуском тестов Protractor e2e из VSTS в рамках определения выпуска.

Шаги, которые у меня есть в моем определении выпуска:

  1. Azure File Copy: исходный код копируется из репозитория Git на виртуальную машину Azure, на которой будут выполняться тесты.

  2. PowerShell на целевых машинах. При этом выполняется сценарий Powershell на виртуальной машине Azure.

Сценарий powershell приведен ниже:

cd c:/App
$ErrorActionPreference = 'Continue'
npm install
npm run e2e

Из VSTS происходит сбой и отображается следующая ошибка:

2018-01-24T05:27:47.2854207Z     Deployment started on target machine...
2018-01-24T05:27:47.2854587Z 
2018-01-24T05:27:47.2855184Z System.AggregateException: Failed to execute the powershell script. Consult the logs below for details of the error.
2018-01-24T05:27:47.2855708Z 
2018-01-24T05:27:47.2856210Z System.Management.Automation.RemoteException
2018-01-24T05:27:47.2856743Z  +At C:\scripts\Rune2eTests.ps1:3 char:1
2018-01-24T05:27:47.2857225Z + npm install
2018-01-24T05:27:47.2857694Z + ~~~~~~~~~~~~~~~~~~~~
2018-01-24T05:27:47.2858464Z  CategoryInfo :NotSpecified: (:String) [], RemoteException
2018-01-24T05:27:47.2859049Z  FullyQualifiedErrorId :NativeCommandError
2018-01-24T05:27:47.2859393Z 
2018-01-24T05:27:47.2860037Z Without `from` option PostCSS could generate wrong source map and will not find Browserslist config. Set it to CSS file path or to `undefined` to prevent this warning.
2018-01-24T05:27:47.2860677Z  +At C:\scripts\Rune2eTests.ps1:4 char:1
2018-01-24T05:27:47.2861172Z + npm run e2e
2018-01-24T05:27:47.2861603Z + ~~~~~~~~~~~
2018-01-24T05:27:47.2862153Z  CategoryInfo :NotSpecified: (Without `from` ...t this warning.:String) [], RemoteException
2018-01-24T05:27:47.2862721Z  FullyQualifiedErrorId :NativeCommandError

Он успешно запускает все тесты Protractor, когда я удаленно подключаюсь к виртуальной машине Azure и просто запускаю сценарий powershell, но этого не происходит, когда его запускает VSTS. Другая проблема заключается в том, что он не выводит в консоль, какие тесты пройдены/не пройдены в VSTS.


person Matthew    schedule 24.01.2018    source источник


Ответы (1)


Вместо этого попробуйте выполнить задачу PowerShell:

$password = ConvertTo-SecureString "[password]" -AsPlainText -Force
$cred= New-Object System.Management.Automation.PSCredential ("[username]", $password)
$sc = {
$ErrorActionPreference = 'Continue'
E:
cd E:\dd\angularclitest
npm run test
}
Invoke-Command -ComputerName [machine] -ScriptBlock $sc -credential $cred

Примечание. Имя пользователя и пароль можно сохранить в переменных сборки/выпуска.

person starian chen-MSFT    schedule 25.01.2018