У нас есть скрипт, написанный на Protractor с использованием node.js и grunt.Мы создали конвейер Azure для выполнения этого автоматического скрипта, извлекая его из github.Пожалуйста, ознакомьтесь с командами, которые мы написали в файле yml.
pool:
vmImage: 'vs2017-win2016'
steps:
- task: NodeTool@0
inputs:
versionSpec: '8.x'
displayName: 'Install Node.js'
- script: |
node --version
npm install
npm install -g grunt-cli
npm install grunt-cli
npm install grunt --save-dev
displayName: 'npm install and run grunt'
- script: |
npm install webdriver-manager -g
npm install protractor -g
webdriver-manager update
webdriver-manager start
displayName: 'Webdriver install'
- task: CmdLine@2
inputs:
script: |
cd resources
grunt
Вопрос1: Сценарий выполняется за 5 минут, в то время как при использовании конвейера Azure для его запуска требуется от 15 до 20 минут.Действительно ли стоит каждый раз устанавливать все пакеты и запускать скрипт через azure.
Вопрос2: команда webdriver-manager start является обязательным шагом для выполнения скрипта (Это нужно сделатьСеленовый концентратор запущен и работает), но при запуске файла yml этот конкретный шаг выдает ошибку и пропускается.
Пожалуйста, просмотрите ошибку ниже.
[12:36:53] I / launcher - Запуск 1 экземпляра WebDriver 2018-12-18T12: 36: 53.4831548Z [12:36:53] I / hosted - Использование сервера selenium по адресу http://localhost:4444/wd/hub 2018-12-18T12: 36: 54.2436510Z [12:36:54] E / launcher - Код ошибки: 1352018-12-18T12: 36: 54.2436720Z [12:36:54] E / launcher - Сообщение об ошибке: ECONNREFUSED connect ECONNREFUSED 127.0.0.1:4444 2018-12-18T12: 36: 54.2436826Z [12:36:54] E/ launcher - ошибка: ECONNREFUSED connect ECONNREFUSED 127.0.0.1:4444 2018-12-18T12: 36: 54.2441705Z [12:36:54] E / launcher - процесс завершен с кодом ошибки 135 2018-12-18T12: 36: 54.2532843Z>> 2018-12-18T12: 36: 54.2537675Z Предупреждение: тесты не пройдены, транспортир завершен с кодом: 135 Использовать --force для продолжения. 2018-12-18T12: 36: 54.2608988Z 2018-12-18T12: 36: 54.2609215Z bОбрезан из-за предупреждений. 2018-12-18T12: 36: 54.3660216Z ## [error] Cmd.exe завершен с кодом '135'.
Мы попытались выполнить другой способсценарий, автор hardcoding адрес концентратора селена в config.js (вместо localhost, предоставляется IP-адрес), например,
seleniumAddress: 'http://<ipaddress>:4444/wd/hub',
, но мы видим другую ошибку, как показано ниже.
2018-12-18T12: 23: 06.4867590Z unningБегущее задание «транспортир: e2e_tests» (транспортир ) 2018-12-18T12: 23: 07.0061140ZI / средство запуска - запуск 1 экземпляра WebDriver 2018-12-18T12: 23: 07.0061367ZI / hosted -Использование сервера селена на http://:4444/wd/hub 2018-12-18T12: 23: 28.0555423ZE / launcher - ETIMEDOUT connect ETIMEDOUT: 4444 2018-12-18T12: 23: 28.0556179ZE / launcher - Ошибка: ETIMEDOUT connect ETIMEDOUT: 4444 2018-12-18T12: 23: 28.0571368ZE / launcher - процесс завершен с кодом ошибки 199 2018-12-18T12: 23: 28.0635055Z >> 2018-12-18T12: 23: 28.0635654Z Предупреждение: тесты не пройдены, транспортир завершен с кодом: 199Используйте --force для продолжения. 2018-12-18T12: 23: 28.0668847Z 2018-12-18T12: 23: 28.0688725Z Прервано из-за предупреждений. 2018-12-18T12: 23: 28.1695155Z ## [error] Cmd.exe завершен с кодом '199'.
Любая помощь будет высокавысоко ценитсяЗаранее спасибо !!