Последняя версия chrome, установленная на агентах сборки Ubuntu 18.04, указана здесь . Я пытаюсь использовать 81.0.4044.138
на момент написания этой статьи.
В моем пакете. json У меня есть следующие скрипты:
{
...
scripts: {
...
"ci-e2e": "ng e2e --protractor-config e2e/ci.protractor.conf.js --webdriver-update=false",
"webdriver-update": "./node_modules/.bin/webdriver-manager update --versions.chrome=81.0.4044.138",
...
}
...
}
Я использую webdriver-update
за которым следует ci-e2e
в моем конвейере:
![enter image description here](https://i.stack.imgur.com/1wT0X.png)
Я продолжаю получать эту ошибку в моем Azure конвейере DevOps:
...
2020-05-27T18:29:30.5713000Z [18:29:30] E/launcher - session not created: This version of ChromeDriver only supports Chrome version 81
2020-05-27T18:29:30.5713844Z (Driver info: chromedriver=81.0.4044.69 (6813546031a4bc83f717a2ef7cd4ac6ec1199132-refs/branch-heads/4044@{#776}),platform=Linux 5.3.0-1022-azure x86_64)
2020-05-27T18:29:30.5714690Z [18:29:30] E/launcher - SessionNotCreatedError: session not created: This version of ChromeDriver only supports Chrome version 81
2020-05-27T18:29:30.5715686Z (Driver info: chromedriver=81.0.4044.69 (6813546031a4bc83f717a2ef7cd4ac6ec1199132-refs/branch-heads/4044@{#776}),platform=Linux 5.3.0-1022-azure x86_64)
2020-05-27T18:29:30.5716525Z at Object.checkLegacyResponse (/home/vsts/work/1/s/wheres-my-order/node_modules/selenium-webdriver/lib/error.js:546:15)
2020-05-27T18:29:30.5717285Z at parseHttpResponse (/home/vsts/work/1/s/wheres-my-order/node_modules/selenium-webdriver/lib/http.js:509:13)
2020-05-27T18:29:30.5718469Z at /home/vsts/work/1/s/wheres-my-order/node_modules/selenium-webdriver/lib/http.js:441:30
2020-05-27T18:29:30.5718928Z at processTicksAndRejections (internal/process/task_queues.js:97:5)
2020-05-27T18:29:30.5719422Z From: Task: WebDriver.createSession()
2020-05-27T18:29:30.5720072Z at Function.createSession (/home/vsts/work/1/s/wheres-my-order/node_modules/selenium-webdriver/lib/webdriver.js:769:24)
2020-05-27T18:29:30.5720820Z at Function.createSession (/home/vsts/work/1/s/wheres-my-order/node_modules/selenium-webdriver/chrome.js:761:15)
2020-05-27T18:29:30.5721779Z at Direct.getNewDriver (/home/vsts/work/1/s/wheres-my-order/node_modules/protractor/built/driverProviders/direct.js:77:33)
2020-05-27T18:29:30.5722537Z at Runner.createBrowser (/home/vsts/work/1/s/wheres-my-order/node_modules/protractor/built/runner.js:195:43)
2020-05-27T18:29:30.5723198Z at /home/vsts/work/1/s/wheres-my-order/node_modules/protractor/built/runner.js:339:29
2020-05-27T18:29:30.5723892Z at _fulfilled (/home/vsts/work/1/s/wheres-my-order/node_modules/protractor/node_modules/q/q.js:834:54)
2020-05-27T18:29:30.5724550Z at /home/vsts/work/1/s/wheres-my-order/node_modules/protractor/node_modules/q/q.js:863:30
2020-05-27T18:29:30.5725293Z at Promise.promise.promiseDispatch (/home/vsts/work/1/s/wheres-my-order/node_modules/protractor/node_modules/q/q.js:796:13)
2020-05-27T18:29:30.5726001Z at /home/vsts/work/1/s/wheres-my-order/node_modules/protractor/node_modules/q/q.js:556:49
2020-05-27T18:29:30.5726677Z at runSingle (/home/vsts/work/1/s/wheres-my-order/node_modules/protractor/node_modules/q/q.js:137:13)
...
Он пытается использовать 81.0.4044.69
вместо 81.0.4044.138
, как я указал.
Я даже добавил это в свой ci.protractor.conf.js
:
...
chromeDriver: '../node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver_81.0.4044.138',
...
I ' м действительно борюсь с e2e suite. Каждый раз, когда выпускаются агенты Azure Devops, я должен набирать go и указывать этот номер версии magi c, который не является последним, но самым последним с точки зрения агента, и я бы очень хотел настроить это так что мне не нужно постоянно возвращаться и подталкивать изменения кода каждый раз, когда версия, которую мне нужно использовать, изменяется. Есть ли способ сделать это без жесткого кодирования номера версии?