【发布时间】:2019-12-09 04:27:09
【问题描述】:
我对量角器版本及其工作原理感到困惑。
所以我创建了两个不同的节点项目,我在两个项目中都使用量角器版本"protractor": "~5.4.0"。
当我尝试运行命令 npm run e2e 时,一个项目正在安装 chrome 驱动程序版本 2.46
[15:12:36] I/downloader - curl -o/home/circleci/project/node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver_2.46.zip https://chromedriver.storage.googleapis.com/2.46/chromedriver_linux64.zip
[15:12:36] I/update - chromedriver: unzipping chromedriver_2.46.zip
[15:12:36] I/update - chromedriver: setting permissions to 0755 for /home/circleci/project/node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver_2.46
[15:12:36] I/launcher - Running 1 instances of WebDriver
[15:12:36] I/direct - Using ChromeDriver directly...
{
"name": "solutions-web",
"version": "0.0.0",
"license": "MIT",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"build:prod": "ng build --prod --build-optimizer",
"test": "ng test",
"test:deployment": "ng test --watch=false --no-progress --code-coverage",
"lint": "ng lint",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"@angular/animations": "~7.2.0",
"@angular/common": "~7.2.0",
"@angular/compiler": "7.2.0",
"@angular/core": "~7.2.0",
"@angular/forms": "~7.2.0",
"@angular/http": "~7.2.0",
"@angular/platform-browser": "~7.2.0",
"@angular/platform-browser-dynamic": "~7.2.0",
"@angular/router": "~7.2.0",
"angular-web-storage": "^7.0.0-beta.1",
"bluebird": "^3.5.5",
"classlist.js": "^1.1.20150312",
"core-js": "^2.6.2",
},
"devDependencies": {
"@angular-devkit/build-angular": "~0.12.0",
"@angular/cli": "~7.2.0",
"@angular/compiler-cli": "~7.2.0",
"@angular/language-service": "~7.2.0",
"@types/jasmine": "~3.3.5",
"@types/jasminewd2": "~2.0.6",
"@types/node": "~10.12.18",
"codelyzer": "~4.5.0",
"jasmine-core": "~3.3.0",
"jasmine-data-provider": "~2.2.0",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~3.1.4",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "~2.0.4",
"karma-jasmine": "~2.0.1",
"karma-jasmine-html-reporter": "^1.4.0",
"lodash": "^4.17.11",
"protractor": "~5.4.0",
"tiny-date-picker": "^3.2.8",
"ts-node": "~7.0.0",
"tslint": "~5.12.0",
"typescript": "~3.2.2"
}
另一个项目正在安装chrome驱动版本_75.0.3770.140
[14:40:30] I/config_source - curl -o/home/circleci/project/node_modules/protractor/node_modules/webdriver-manager/selenium/chrome-response.xml https://chromedriver.storage.googleapis.com/
[14:40:30] I/downloader - curl -o/home/circleci/project/node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver_75.0.3770.140.zip https://chromedriver.storage.googleapis.com/75.0.3770.90/chromedriver_linux64.zip
[14:40:31] I/update - chromedriver: unzipping chromedriver_75.0.3770.140.zip
[14:40:31] I/update - chromedriver: setting permissions to 0755 for /home/circleci/project/node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver_75.0.3770.140
[14:40:31] I/launcher - Running 1 instances of WebDriver
[14:40:31] I/direct - Using ChromeDriver directly...
{
"name": "web-project",
"version": "0.0.0",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"@angular/animations": "~7.1.0",
"@angular/common": "~7.1.0",
"@angular/compiler": "~7.1.0",
"@angular/core": "~7.1.0",
"@angular/forms": "~7.1.0",
"@angular/platform-browser": "~7.1.0",
"@angular/platform-browser-dynamic": "~7.1.0",
"@angular/router": "~7.1.0",
"core-js": "^2.5.4",
"rxjs": "~6.3.3",
"tslib": "^1.9.0",
"zone.js": "~0.8.26"
},
"devDependencies": {
"@angular-devkit/build-angular": "~0.11.0",
"@angular/cli": "~7.1.0",
"@angular/compiler-cli": "~7.1.0",
"@angular/language-service": "~7.1.0",
"@types/node": "~8.9.4",
"@types/jasmine": "~2.8.8",
"@types/jasminewd2": "~2.0.3",
"webpack-dev-server": ">=3.1.11",
"codelyzer": "~4.5.0",
"jasmine-core": "~2.99.1",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~3.1.1",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "~2.0.1",
"karma-jasmine": "~1.1.2",
"karma-jasmine-html-reporter": "^0.2.2",
"protractor": "~5.4.0",
"ts-node": "~7.0.0",
"tslint": "~5.12.0",
"typescript": "~3.1.6"
}
}
当我提供相同的量角器版本时,这怎么可能? 有人可以帮我理解这个过程并帮助我克服这个问题吗?
【问题讨论】:
-
你能同时添加
package.json文件吗? -
为两个项目添加了 package.json 文件
-
唯一可以确保安装相同版本的量角器的方法是将依赖更改为
"protractor": "5.4.0",。~无法将版本保持在 5.4.0。并在更改依赖后删除package-lock.json,然后再次执行npm install和ng e2e。
标签: selenium protractor webdriver-manager