量角器显示错误的 Chrome 驱动程序版本,无法运行 E2E 测试



我正在使用一个 angular2 Web 应用程序,如果我们为 e2e 测试设置了量角器,但我的所有测试都因一些模棱两可的错误而不断失败。 错误是得到是

× Full amount can be tendered to card via scanning the device
- Failed: unknown error: cannot get automation extension
from unknown error: page could not be found: chrome-extension://aapnijgdinlhnhlmodcfapnahmbfebeb/_generated_background_page.html
(Session info: chrome=59.0.3071.115)
(Driver info: chromedriver=2.26.436362 (5476ec6bf7ccbada1734a0cdec7d570bb042aa30),platform=Windows NT 10.0.10586 x86_64)
- Failed: unknown error: cannot get automation extension
from unknown error: page could not be found: chrome-extension://aapnijgdinlhnhlmodcfapnahmbfebeb/_generated_background_page.html
(Session info: chrome=59.0.3071.115)
(Driver info: chromedriver=2.26.436362(5476ec6bf7ccbada1734a0cdec7d570bb042aa30),platform=Windows NT 10.0.10586 x86_64)  

我的环境是 windows 10,节点版本是 6.9.1,npm 版本是 3.8.6,chrome 版本是 59.xx,chromedriver 版本是 2.30,但不知道为什么它在控制台中显示 2.26 以及错误。我尝试通过 npm install chromedriver(本地和全局(更新它,它显示已安装 2.30,但当我尝试运行量角器时,它显示 chromedriver=2.26.436362(如您在输出中看到的那样(。我尝试了许多在互联网上找到的解决方案,但没有任何效果(包括将 chrome 升级到最新版本 + chromedriver 到最新版本,将 chrome 降级到 58 和 chromedriver 降级到 2.28 等(。

我在设置环境时缺少什么?任何帮助将不胜感激。谢谢

*******更新*******

我已经将chromedriver版本升级到2.30,现在开始出现不同的错误,它甚至现在都没有开始,错误如下

e2e/app/framework/element-functions.ts(43,29): error TS2349: Cannot invoke an expression whose type lacks a call signature.
e2e/app/framework/wait-functions.ts(45,18): error TS2345: Argument of type 'Function' is not assignable to parameter of type 'Promise<{}> | Condition<{}> | ((driver: WebDriver) => {})'.
Type 'Function' is not assignable to type '(driver: WebDriver) => {}'.
Type 'Function' provides no match for the signature '(driver: WebDriver): {}'
node_modules/blocking-proxy/built/lib/angular_wait_barrier.d.ts(43,43): error TS2304: Cannot find name 'Promise'.
node_modules/blocking-proxy/built/lib/blockingproxy.d.ts(40,13): error TS2304: Cannot find name 'Promise'.
node_modules/blocking-proxy/built/lib/client.d.ts(11,39): error TS2304: Cannot find name 'Promise'.
node_modules/blocking-proxy/built/lib/client.d.ts(18,42): error TS2304: Cannot find name 'Promise'.
node_modules/blocking-proxy/built/lib/client.d.ts(19,22): error TS2304: Cannot find name 'Promise'.
node_modules/blocking-proxy/built/lib/highlight_delay_barrier.d.ts(17,43): error TS2304: Cannot find name 'Promise'.
node_modules/blocking-proxy/built/lib/simple_webdriver_client.d.ts(14,47): error TS2304: Cannot find name 'Promise'.
node_modules/blocking-proxy/built/lib/simple_webdriver_client.d.ts(21,52): error TS2304: Cannot find name 'Promise'.
node_modules/blocking-proxy/built/lib/simple_webdriver_client.d.ts(29,56): error TS2304: Cannot find name 'Promise'.
node_modules/blocking-proxy/built/lib/simple_webdriver_client.d.ts(37,52): error TS2304: Cannot find name 'Promise'.
node_modules/blocking-proxy/built/lib/webdriver_proxy.d.ts(14,90): error TS2304: Cannot find name 'Promise'.
node_modules/blocking-proxy/built/lib/webdriver_proxy.d.ts(23,43): error TS2304: Cannot find name 'Promise'.
node_modules/protractor/built/plugins.d.ts(31,22): error TS2304: Cannot find name 'Promise'.
node_modules/protractor/built/plugins.d.ts(48,26): error TS2304: Cannot find name 'Promise'.
node_modules/protractor/built/plugins.d.ts(62,25): error TS2304: Cannot find name 'Promise'.
node_modules/protractor/built/plugins.d.ts(76,28): error TS2304: Cannot find name 'Promise'.
node_modules/protractor/built/plugins.d.ts(94,55): error TS2304: Cannot find name 'Promise'.

是的,我见过这个。Web驱动程序管理器感到困惑,并抓住了错误的版本。要修复此问题,请在本地(node_modules(和全局(如果您也有(量角器安装上运行它。

  1. node_modules/.bin/webdriver-manager clean // removes all older versions
  2. node_modules/.bin/webdriver-manager update // get the latest

最新更新