Mhy*_*nd 12 protractor angular7
我正在尝试ng e2e使用 chrome 作为浏览器在 Angular 7 上运行。我运行了命令npm install -g protractor和webdriver-manager update. 它最终下载并运行 chromedriver=76.0.3809.12 但我不可能在我的机器上更新 chrome 本身。我在 chrome 74 上。
我已经尝试过
webdriver-manger update,
webdriver-manager update --versions.chrome 2.46,
webdriver-manager update --versions.chrome 74.0.3729.6
但即使我删除了 chrome 76 文件,node_modules\protractor\node_modules\webdriver-manager\selenium\但每次我运行时它们总是重新安装ng e2e
量角器配置文件
exports.config = {
allScriptsTimeout: 11000,
specs: [
'./src/**/*.e2e-spec.ts'
],
capabilities: {
'browserName': 'chrome'
},
directConnect: true,
baseUrl: 'http://localhost:4200/',
framework: 'jasmine',
jasmineNodeOpts: {
showColors: true,
defaultTimeoutInterval: 30000,
print: function() {}
},
onPrepare() {
require('ts-node').register({
project: require('path').join(__dirname, './tsconfig.e2e.json')
});
jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
}
};
Run Code Online (Sandbox Code Playgroud)
tsconfig.e2e.json
exports.config = {
allScriptsTimeout: 11000,
specs: [
'./src/**/*.e2e-spec.ts'
],
capabilities: {
'browserName': 'chrome'
},
directConnect: true,
baseUrl: 'http://localhost:4200/',
framework: 'jasmine',
jasmineNodeOpts: {
showColors: true,
defaultTimeoutInterval: 30000,
print: function() {}
},
onPrepare() {
require('ts-node').register({
project: require('path').join(__dirname, './tsconfig.e2e.json')
});
jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
}
};
Run Code Online (Sandbox Code Playgroud)
当我尝试运行ng e2e它时会引发此错误:
E/launcher - session not created: This version of ChromeDriver only supports Chrome version 76
(Driver info: chromedriver=76.0.3809.12 (220b19a666554bdcac56dff9ffd44c300842c933-refs/branch-heads/3809@{#83}),platform=Windows NT 10.0.16299 x86_64)
E/launcher - Process exited with error code 199
An unexpected error occurred: undefined
Run Code Online (Sandbox Code Playgroud)
更新:当我运行webdriver-manager clean并且node node_modules/protractor/bin/webdriver-manager update --standalone --versions.standalone=3.8.0它仍然下载了 chrome 76 时,这里是第二个命令和清洁后 ng e2e 的输出
节点 node_modules/protractor/bin/webdriver-manager update --standalone --
versions.standalone=3.8.0
[06:59:13] I/config_source - curl -oM:.\node_modules\protractor\node_modules\webdriver-manager\selenium\standalone-response.xml https://selenium-release.storage.googleapis.com/
[06:59:13] I/config_source - curl -oM:.\node_modules\protractor\node_modules\webdriver-manager\selenium\chrome-response.xml https://chromedriver.storage.googleapis.com/
[06:59:13] I/config_source - curl -oM:.\node_modules\protractor\node_modules\webdriver-manager\selenium\gecko-response.json https://api.github.com/repos/mozilla/geckodriver/releases
[06:59:14] I/downloader - curl -oM:.\node_modules\protractor\node_modules\webdriver-manager\selenium/selenium-server-standalone-3.8.0.jar https://selenium-release.storage.googleapis.com/3.8/selenium-server-standalone-3.8.0.jar
[06:59:14] I/update - chromedriver: file exists M:.\node_modules\protractor\node_modules\webdriver-manager\selenium\chromedriver_76.0.3809.12.zip
[06:59:14] I/update - chromedriver: unzipping chromedriver_76.0.3809.12.zip
[06:59:14] I/update - chromedriver: chromedriver_76.0.3809.12.exe up to date
[06:59:14] I/update - geckodriver: file exists M:.\node_modules\protractor\node_modules\webdriver-manager\selenium\geckodriver-v0.24.0.zip
[06:59:14] I/update - geckodriver: unzipping geckodriver-v0.24.0.zip
[06:59:15] I/update - geckodriver: geckodriver-v0.24.0.exe up to date
Run Code Online (Sandbox Code Playgroud)
ng e2e
i ?wdm?: Compiled successfully.
[07:00:51] I/update - chromedriver: file exists M:.\node_modules\protractor\node_modules\webdriver-manager\selenium\chromedriver_76.0.3809.12.zip
[07:00:51] I/update - chromedriver: unzipping chromedriver_76.0.3809.12.zip
[07:00:52] I/update - chromedriver: chromedriver_76.0.3809.12.exe up to date
[07:00:54] I/launcher - Running 1 instances of WebDriver
[07:00:54] I/direct - Using ChromeDriver directly...
[9224:10012:0612/070058.684:ERROR:configuration_policy_handler_list.cc(90)] Unknown policy: EnableCommonNameFallbackForLocalAnchors
[9224:10012:0612/070058.869:ERROR:configuration_policy_handler_list.cc(90)] Unknown policy: EnableCommonNameFallbackForLocalAnchors
DevTools listening on ws://127.0.0.1:5007/devtools/browser/376b234b-f47d-4841-afdc-77719714db23
[07:01:05] E/launcher - session not created: This version of ChromeDriver only supports Chrome version 76
(Driver info: chromedriver=76.0.3809.12 (220b19a666554bdcac56dff9ffd44c300842c933-refs/branch-heads/3809@{#83}),platform=Windows NT 10.0.16299 x86_64)
[07:01:05] E/launcher - SessionNotCreatedError: session not created: This version of ChromeDriver only supports Chrome version 76
(Driver info: chromedriver=76.0.3809.12 (220b19a666554bdcac56dff9ffd44c300842c933-refs/branch-heads/3809@{#83}),platform=Windows NT 10.0.16299 x86_64)
Run Code Online (Sandbox Code Playgroud)
包.json
"private": true,
"dependencies": {
"@angular/animations": "^7.2.14",
"@angular/cdk": "^7.3.7",
"@angular/common": "^7.2.14",
"@angular/compiler": "^7.2.14",
"@angular/core": "^7.2.14",
"@angular/forms": "^7.2.14",
"@angular/http": "^7.2.14",
"@angular/material": "^7.3.7",
"@angular/platform-browser": "^7.2.14",
"@angular/platform-browser-dynamic": "^7.2.14",
"@angular/platform-server": "^7.2.14",
"@angular/router": "^7.2.14",
"core-js": "^2.5.7",
"rxjs": "^6.5.2",
"rxjs-compat": "^6.5.1",
"zone.js": "^0.8.29"
},
"devDependencies": {
"@angular-devkit/build-angular": "^0.13.8",
"@angular/cli": "^7.3.8",
"@angular/compiler-cli": "^7.2.14",
"@angular/language-service": "^7.2.14",
"@types/jasmine": "^3.3.12",
"@types/jasminewd2": "~2.0.3",
"@types/node": "^11.13.8",
"codelyzer": "^5.0.1",
"jasmine-core": "^3.4.0",
"jasmine-spec-reporter": "^4.2.1",
"karma": "^4.1.0",
"karma-chrome-launcher": "^2.2.0",
"karma-cli": "^2.0.0",
"karma-coverage-istanbul-reporter": "~2.0.0",
"karma-jasmine": "^2.0.1",
"karma-jasmine-html-reporter": "^1.4.2",
"protractor": "^5.4.2",
"rxjs-tslint": "^0.1.7",
"ts-node": "~5.0.1",
"tslint": "^5.16.0",
"typescript": "<3.3.0",
"webpack": "^4.30.0"
}
Run Code Online (Sandbox Code Playgroud)
对于遇到此问题并想使用 chrome 77 的人,以下是步骤:
npm i protractor@^5.4.2node node_modules/.bin/webdriver-manager update --versions.chrome=77.0.3865.75protractor.conf.js下匹配chromeDriver。这是我的量角器配置:
exports.config = {
allScriptsTimeout: 11000,
specs: ['./src/**/*.e2e-spec.ts'],
capabilities: {
browserName: 'chrome',
},
chromeDriver: '../node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver_77.0.3865.75',
directConnect: true,
baseUrl: 'http://localhost:4200/',
framework: 'jasmine',
jasmineNodeOpts: {
showColors: true,
defaultTimeoutInterval: 30000,
print: function() {},
},
onPrepare() {
require('ts-node').register({
project: require('path').join(__dirname, './tsconfig.json'),
});
jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
},
};
Run Code Online (Sandbox Code Playgroud)
我还在 中添加了以下脚本package.json:
"postinstall": "node_modules/.bin/webdriver-manager update --versions.chrome=77.0.3865.75"
Run Code Online (Sandbox Code Playgroud)
确保每次安装后都有正确的版本。
小智 5
如果您正在使用Angular并且需要运行端到端测试,那么您可能需要一种不同的方法。
ChromeDriver 的设置版本
cd <project>/node_modules/.bin/
node webdriver-manager update --versions.chrome 80.0.3987.106 --gecko false --standalone false
设置--gecko和--standalonetofalse将阻止它们下载并且只会下载 chromedriver。
运行 e2e 测试
npx ng e2e --webdriverUpdate=false //in project folder--webdriverUpdate=false 不要尝试更新网络驱动程序
参考
小智 2
尝试以下选项
webdriver-manager clean // This will clean the existing webdrivers
node node_modules/protractor/bin/webdriver-manager update --standalone --versions.standalone=3.8.0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13334 次 |
| 最近记录: |