Protractor chromedriver版本(如76.0.3809.12)的量角器问题

Protractor chromedriver版本(如76.0.3809.12)的量角器问题,protractor,webdriver,selenium-chromedriver,Protractor,Webdriver,Selenium Chromedriver,运行新chromedriver版本(如76.0.3809.68)的conf.js文件时出现量角器问题 我试图在最新的chrome版本上运行量角器测试,该版本今天更新为76.0.3809.100,但它们一直失败并给出错误。我的版本是量角器版本:5.4.2, webdriver版本:12.1.6, selenium单机版:3.141.59 chromedriver版本:2.46[最新版本]、76.0.3809.12 geckodriver版本:v0.24.0[最新版本] 我尝试过使用webdrive

运行新chromedriver版本(如76.0.3809.68)的conf.js文件时出现量角器问题

我试图在最新的chrome版本上运行量角器测试,该版本今天更新为76.0.3809.100,但它们一直失败并给出错误。我的版本是量角器版本:5.4.2, webdriver版本:12.1.6, selenium单机版:3.141.59 chromedriver版本:2.46[最新版本]、76.0.3809.12 geckodriver版本:v0.24.0[最新版本]

我尝试过使用webdriver manager更新更新webdriver manager来更新chrome驱动程序,也尝试过重新安装webdriver manager并安装特定版本的webdriver,但似乎没有任何效果。我还尝试安装chrome的较低版本,即75,但每次尝试时,它都会安装最新版本。这些测试在更新后停止工作之前运行良好。 关于这个问题的任何帮助/建议都会非常有用

这是引发的错误:

E/launcher - session not created: Chrome version must be between 71 and 75
  (Driver info: chromedriver=2.46.628402 (536cd7adbad73a3783fdc2cab92ab2ba7ec361e1),platform=Windows NT 10.0.17763 x86_64)
[15:08:03] E/launcher - SessionNotCreatedError: session not created: Chrome version must be between 71
and 75
  (Driver info: chromedriver=2.46.628402 (536cd7adbad73a3783fdc2cab92ab2ba7ec361e1),platform=Windows NT 10.0.17763 x86_64)
    at Object.checkLegacyResponse (C:\Users\gmangat\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\error.js:546:15)
    at parseHttpResponse (C:\Users\gmangat\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\http.js:509:13)
    at doSend.then.response (C:\Users\gmangat\AppData\Roaming\npm\node_modules\protractor\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\gmangat\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver.js:769:24)
    at Function.createSession (C:\Users\gmangat\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\chrome.js:761:15)
    at Direct.getNewDriver (C:\Users\gmangat\AppData\Roaming\npm\node_modules\protractor\built\driverProviders\direct.js:77:33)
    at Runner.createBrowser (C:\Users\gmangat\AppData\Roaming\npm\node_modules\protractor\built\runner.js:195:43)
    at q.then.then (C:\Users\gmangat\AppData\Roaming\npm\node_modules\protractor\built\runner.js:339:29)
    at _fulfilled (C:\Users\gmangat\AppData\Roaming\npm\node_modules\protractor\node_modules\q\q.js:834:54)
    at C:\Users\gmangat\AppData\Roaming\npm\node_modules\protractor\node_modules\q\q.js:863:30
    at Promise.promise.promiseDispatch (C:\Users\gmangat\AppData\Roaming\npm\node_modules\protractor\node_modules\q\q.js:796:13)
    at C:\Users\gmangat\AppData\Roaming\npm\node_modules\protractor\node_modules\q\q.js:556:49
    at runSingle (C:\Users\gmangat\AppData\Roaming\npm\node_modules\protractor\node_modules\q\q.js:137:13)
[15:08:03] E/launcher - Process exited with error code 199
这是我的conf.js文件exports.config={

directConnect: true,
  multiCapabilities: [{
    browserName: 'chrome',
    acceptInsecureCerts: true,
    'specs': [
      //e2e Specs
      './src/e2e/shared/specs/LoginTest.e2e.spec.js',
      './src/api/unified-message-api/specs/createUMTask.js',
     ],
    chromeOptions: {
      args: ['--disable-infobars', '--disable-browser-side-navigation'],
      prefs: {
        'profile.managed_default_content_settings.notifications': 1
      }
    },
  }],
  framework: 'jasmine2',
  SELENIUM_PROMISE_MANAGER: true,
  onPrepare: function () {
    browser.ignoreSynchronization = true;
    browser.driver.manage().timeouts().implicitlyWait(5000);
    browser.driver.manage().window().setSize(1280, 1024);

    //npm install jasmine-spec-reporter --save-dev
    var specReporter = require('jasmine-spec-reporter').SpecReporter;
    jasmine.getEnv().addReporter(new specReporter({
      displayFailuresSummary: true,
      displayFailuredSpec: true,
      displaySuiteNumber: true,
      displaySpecDuration: true
    }));

    var AllureReporter = require('jasmine-allure-reporter');
    jasmine.getEnv().addReporter(new AllureReporter({
      resultsDir: 'allure-results'
    }));
    jasmine.getEnv().afterEach(function (done) {
      browser.takeScreenshot().then(function (png) {
        allure.createAttachment('Screenshot', function () {
          return new Buffer(png, 'base64')
        }, 'image/png')();
        done();
      })
    });
  },

  jasmineNodeOpts: {
    defaultTimeInterval: 6000000
  }

};

/* Version Used:
Node: 10.15.3
Protractor : 5.4.2
npm i protractor@5.4.2

*/

您需要安装兼容的
chromedriver
版本,即
76.0.0
。chromedriver版本控制约定现在已更改为跟踪chrome版本。

我也面临同样的问题,以下是我尝试过的解决方法,它帮助了我:

  • 我重新安装了Node、npm、dragotor—所有最新版本
  • 我做了
    npm安装-g量角器
    webdriver管理器更新
    ,下载了
    chromedriver_76.0.3809.12.zip和
    geckodriver_v0.24.0
  • 此外,我在测试中使用了一些npm模块,我通过
    ~\\test\npm\u modules
  • 我将
    selenium
    文件夹的内容从
    C:\Users\\AppData\Roaming\npm\node\u modules\dragrator\node\u modules\selenium webdriver\selenium\
    替换为
    ~\\Test\npm\modules\dragrator\node\u modules\webdriver manager\selenium\
    这修正了上述错误

  • 对我有效的解决方案是导航到
    /node\u模块/量角器
    并运行
    npm i webdriver-manager@latest

    然后返回应用程序根目录并运行
    webdriver-manager-update
    ,这一次它应该下载v76驱动程序


    感谢您的回复。我已尝试使用npm I webdriver安装最新版本的chrome驱动程序-manager@latest每次我运行脚本时,我都会收到一个循环引用错误。知道这是怎么回事吗:-失败:javascript错误:循环引用(会话信息:chrome=76.0.3809.100)(驱动程序信息:chromedriver=76.0.3809.12(220B19A66654BDCAC56DFF9FFD44C300842C933参考/分支机构负责人/3809{83}),平台=Windows NT 10.0.17763 x8664)我花了数小时试图运行Angular e2e测试。虽然这不是一个长期的解决方案,因为每次我重新安装node_模块时,更改都会被删除,但它让我至少可以继续推进项目。谢谢!下面是一个想法:我在我的package.json中添加了这个任务,它似乎可以工作:
    “pree2e”:“cd./node_模块/量角器/&&npm i webdriver”-manager@latest&&cd../.&&webdriver管理器更新“,
    我知道这是人为的,但似乎解决了每次都必须手动完成的问题。