#typescript #azure-devops #protractor #azure-pipelines #e2e-testing
#typescript #azure-devops #транспортир #azure-конвейеры #e2e-тестирование
Вопрос:
Я пытаюсь запустить тесты protractor e2e в конвейере в Azure devops, но он продолжает сбой сразу после загрузки Chrome webdriver. Я запускаю те же скрипты в своем локальном компьютере, и они работают нормально, но в Azure devops это не удается. Кто-нибудь может помочь мне понять, почему это не удается?
Спецификация агента: ubuntu-18.04 Пул агентов: Azure Pipelines Версия узла: 10.x С использованием репозиториев Azure
и использование пользовательского интерфейса для обновления webdriver-manger как в корневой папке, так и в ./node_modules / protractor
и как только это будет сделано с помощью npm, запускающего тесты e2e, но сразу после непосредственного использования драйвера Chrome происходит сбой.
2020-09-01T05:29:18.5579903Z [05:29:18] E/launcher - unknown error: Chrome failed to start: exited abnormally
2020-09-01T05:29:18.5580800Z (unknown error: DevToolsActivePort file doesn't exist)
2020-09-01T05:29:18.5582329Z (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
2020-09-01T05:29:18.5591888Z (Driver info: chromedriver=2.46.628388 (4a34a70827ac54148e092aafb70504c4ea7ae926),platform=Linux 5.3.0-1034-azure x86_64)
2020-09-01T05:29:18.5592529Z [05:29:18] E/launcher - WebDriverError: unknown error: Chrome failed to start: exited abnormally
2020-09-01T05:29:18.5593004Z (unknown error: DevToolsActivePort file doesn't exist)
2020-09-01T05:29:18.5593565Z (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
2020-09-01T05:29:18.5594229Z (Driver info: chromedriver=2.46.628388 (4a34a70827ac54148e092aafb70504c4ea7ae926),platform=Linux 5.3.0-1034-azure x86_64)
2020-09-01T05:29:18.5594817Z at Object.checkLegacyResponse (/home/vsts/work/1/s/node_modules/selenium-webdriver/lib/error.js:546:15)
2020-09-01T05:29:18.5595359Z at parseHttpResponse (/home/vsts/work/1/s/node_modules/selenium-webdriver/lib/http.js:509:13)
2020-09-01T05:29:18.5595916Z at doSend.then.response (/home/vsts/work/1/s/node_modules/selenium-webdriver/lib/http.js:441:30)
2020-09-01T05:29:18.5596243Z at process._tickCallback (internal/process/next_tick.js:68:7)
2020-09-01T05:29:18.5596481Z From: Task: WebDriver.createSession()
2020-09-01T05:29:18.5597051Z at Function.createSession (/home/vsts/work/1/s/node_modules/selenium-webdriver/lib/webdriver.js:769:24)
2020-09-01T05:29:18.5597527Z at Function.createSession (/home/vsts/work/1/s/node_modules/selenium-webdriver/chrome.js:761:15)
2020-09-01T05:29:18.5597853Z at Direct.getNewDriver (/home/vsts/work/1/s/node_modules/protractor/built/driverProviders/direct.js:77:33)
2020-09-01T05:29:18.5598181Z at Runner.createBrowser (/home/vsts/work/1/s/node_modules/protractor/built/runner.js:195:43)
2020-09-01T05:29:18.5598472Z at q.then.then (/home/vsts/work/1/s/node_modules/protractor/built/runner.js:339:29)
2020-09-01T05:29:18.5598732Z at _fulfilled (/home/vsts/work/1/s/node_modules/q/q.js:834:54)
2020-09-01T05:29:18.5598967Z at /home/vsts/work/1/s/node_modules/q/q.js:863:30
2020-09-01T05:29:18.5599328Z at Promise.promise.promiseDispatch (/home/vsts/work/1/s/node_modules/q/q.js:796:13)
2020-09-01T05:29:18.5599570Z at /home/vsts/work/1/s/node_modules/q/q.js:556:49
2020-09-01T05:29:18.5599801Z at runSingle (/home/vsts/work/1/s/node_modules/q/q.js:137:13)
2020-09-01T05:29:18.5600161Z [05:29:18] E/launcher - Process exited with error code 199
2020-09-01T05:29:18.6127107Z An unexpected error occurred: undefined
2020-09-01T05:29:18.6680139Z npm ERR! code ELIFECYCLE
2020-09-01T05:29:18.6740337Z npm ERR! errno 1
2020-09-01T05:29:18.6740709Z npm ERR! minterest@1.0.0 e2e: `ng e2e`
2020-09-01T05:29:18.6740974Z npm ERR! Exit status 1
2020-09-01T05:29:18.6741161Z npm ERR!
2020-09-01T05:29:18.6741404Z npm ERR! Failed at the minterest@1.0.0 e2e script.
2020-09-01T05:29:18.6742262Z npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
2020-09-01T05:29:18.6770493Z
2020-09-01T05:29:18.6770952Z npm ERR! A complete log of this run can be found in:
2020-09-01T05:29:18.6772054Z npm ERR! /home/vsts/.npm/_logs/2020-09-01T05_29_18_670Z-debug.log
Я знаю, что существует множество решений, но у меня ничего не работает. Решения, которые я пробовал до сих пор, но он продолжает выходить из строя, упомянуты ниже
- Добавление ‘args’: [«—disable-dev-shm-usage» ], ‘args’: [«—no-sandbox» ].
- Попытался установить Chrome с помощью команд терминала, чтобы убедиться, что он установлен по правильному пути, как указано Ракешем в этой ссылке.
- Попытался понизить версию webdriver-manager до 2.38.
- Попытался запустить в браузере Firefox (который работает в локальной, но не в Azure devops).
- попытался установить для DirectConnect значение false и присвоить адрес selenium
- также запускал его в режиме инкогнито
- пробовал работать в безголовом режиме, который не работает как на локальном, так и на devops
- Также пытался запустить пример кода, но он также продолжает выдавать ошибку.
Что еще я должен сделать, чтобы устранить эту ошибку? Кто-нибудь может помочь
Комментарии:
1. эта ошибка возникает, когда, поскольку protractor пытается запустить браузер в системе, отличной от GUI (Linux). Я решаю это с помощью
xvfb-run
, которая буферизует пользовательский интерфейс в памяти. Я надеюсь, что вы можете воспользоваться этим отсюда2. И здесь та же проблема
3. Возможно, драйвер Chrome несовместим с установленной версией Chrome. Вы можете попробовать обновить версию chromedriver до 85
webdriver-manager update --versions.chrome 85.0.4183.87
. Для Chrome, установленного в ubuntu, — версия 18.0485.0.4183.83
4. @LeviLu-MSFT Использует последнюю версию 85.0.4183.84 и ubuntu-18.04, а также запускает angular server, запускает последнюю версию chrome, но когда он должен открыть пользовательский интерфейс Chrome, чтобы начать тестирование, он завершается с ошибкой, используя приведенные ниже команды cd ./node_modules/protractor amp;amp; npm i webdriver-manager@latest amp;amp; cd ../.. amp;amp; node ./node_modules/.bin/webdriver-manager update npm run e2e
5. Можете ли вы проверить, какая версия Chrome на вашем локальном компьютере? Можете ли вы использовать агенты Windows для запуска тестов или создать автономный агент для запуска вашего конвейера в качестве обходных путей.