首页 > 解决方案 > Angular 8.x e2e 测试不会运行

问题描述

使用 CLI 在 Angular 8.0.2 中为应用程序(减去路由)生成默认设置。

ng test工作,但ng e2e没有。该错误抱怨 Chrome。

C:\Users\user\my-dream-app>ng e2e
[06:26:10] I/update - chromedriver: file exists C:\Users\user\my-dream-app\node_modules\protractor\node_modules\webdriver-manager\selenium\chromedriver_75.0.3770.8.zip
[06:26:10] I/update - chromedriver: unzipping chromedriver_75.0.3770.8.zip
[06:26:10] I/update - chromedriver: chromedriver_75.0.3770.8.exe up to date

Date: 2019-06-10T10:26:29.077Z
Hash: d3f131a7889575adf622
Time: 13878ms
chunk {main} main.js, main.js.map (main) 9.77 kB [initial] [rendered]
chunk {polyfills} polyfills.js, polyfills.js.map (polyfills) 248 kB [initial] [rendered]
chunk {polyfills-es5} polyfills-es5.js, polyfills-es5.js.map (polyfills-es5) 380 kB [initial] [rendered]
chunk {runtime} runtime.js, runtime.js.map (runtime) 6.08 kB [entry] [rendered]
chunk {styles} styles.js, styles.js.map (styles) 16.3 kB [initial] [rendered]
chunk {vendor} vendor.js, vendor.js.map (vendor) 3.67 MB [initial] [rendered]
** Angular Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200/ **
i ?wdm?: Compiled successfully.
[06:26:30] I/launcher - Running 1 instances of WebDriver
[06:26:30] I/direct - Using ChromeDriver directly...

DevTools listening on ws://127.0.0.1:16131/devtools/browser/84b893db-c880-496e-a908-248c8a756f0a
[06:26:33] E/launcher - session not created: This version of ChromeDriver only supports Chrome version 75
  (Driver info: chromedriver=75.0.3770.8 (681f24ea911fe754973dda2fdc6d2a2e159dd300-refs/branch-heads/3770@{#40}),platform=Windows NT 6.1.7601 SP1 x86_64)
[06:26:33] E/launcher - SessionNotCreatedError: session not created: This version of ChromeDriver only supports Chrome version 75
  (Driver info: chromedriver=75.0.3770.8 (681f24ea911fe754973dda2fdc6d2a2e159dd300-refs/branch-heads/3770@{#40}),platform=Windows NT 6.1.7601 SP1 x86_64)
    at Object.checkLegacyResponse (C:\Users\user\my-dream-app\node_modules\selenium-webdriver\lib\error.js:546:15)
    at parseHttpResponse (C:\Users\user\my-dream-app\node_modules\selenium-webdriver\lib\http.js:509:13)
    at doSend.then.response (C:\Users\user\my-dream-app\node_modules\selenium-webdriver\lib\http.js:441:30)
    at process._tickCallback (internal/process/next_tick.js:68:7)
From: Task: WebDriver.createSession()
    at Function.createSession (C:\Users\user\my-dream-app\node_modules\selenium-webdriver\lib\webdriver.js:769:24)
    at Function.createSession (C:\Users\user\my-dream-app\node_modules\selenium-webdriver\chrome.js:761:15)
    at Direct.getNewDriver (C:\Users\user\my-dream-app\node_modules\protractor\built\driverProviders\direct.js:77:33)
    at Runner.createBrowser (C:\Users\user\my-dream-app\node_modules\protractor\built\runner.js:195:43)
    at q.then.then (C:\Users\user\my-dream-app\node_modules\protractor\built\runner.js:339:29)
    at _fulfilled (C:\Users\user\my-dream-app\node_modules\q\q.js:834:54)
    at C:\Users\user\my-dream-app\node_modules\q\q.js:863:30
    at Promise.promise.promiseDispatch (C:\Users\user\my-dream-app\node_modules\q\q.js:796:13)
    at C:\Users\user\my-dream-app\node_modules\q\q.js:556:49
    at runSingle (C:\Users\user\my-dream-app\node_modules\q\q.js:137:13)
[06:26:33] E/launcher - Process exited with error code 199

我承认我仍在学习 Angular,但经过一番谷歌搜索后,我认为这个问题已经解决了,那么为什么会发生这种情况,我该如何解决呢?我的 chrome 浏览器版本(显示在 about chrome 中)是 Chrome 版本 74.0.3729.169

标签: angular

解决方案


Chromedriver 需要在本地安装特定版本的 chrome,因此请确保本地安装的 chrome 版本与驱动程序使用的版本相同。

由于某种原因,chrome 有时不会自动升级,但如果您转到帮助 -> 关于 Google Chrome,您可以看到您当前的版本并单击那里的按钮进行升级。


推荐阅读