question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Protractor tests failing randomly - screenshot error : WebDriverError: chrome not reachable

See original GitHub issue

Bug report

I am running protractor tests on chrome headless in Ubuntu 16.04. The tests were running properly for more than 3 months but then suddenly the tests started failing with the below error-

WebDriverError: chrome not reachable
  (Session info: headless chrome=63.0.3239.84)
  (Driver info: chromedriver=2.34.522913 (36222509aa6e819815938cbf2709b4849735537c),platform=Linux 4.4.0-103-generic x86_64)
    at Object.checkLegacyResponse (/var/lib/jenkins/workspace/V3_dev-VZ7SALLA2GROULU45V7JHW2IE4DRQVH2S7N4CVPNTXMYK6MDI53Q/node_modules/selenium-webdriver/lib/error.js:505:15)
    at parseHttpResponse (/var/lib/jenkins/workspace/V3_dev-VZ7SALLA2GROULU45V7JHW2IE4DRQVH2S7N4CVPNTXMYK6MDI53Q/node_modules/selenium-webdriver/lib/http.js:509:13)
    at doSend.then.response (/var/lib/jenkins/workspace/V3_dev-VZ7SALLA2GROULU45V7JHW2IE4DRQVH2S7N4CVPNTXMYK6MDI53Q/node_modules/selenium-webdriver/lib/http.js:440:13)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)
From: Task: WebDriver.findElements(By(css selector, .cc-date-filter-dropdown))
    at Driver.schedule (/var/lib/jenkins/workspace/V3_dev-VZ7SALLA2GROULU45V7JHW2IE4DRQVH2S7N4CVPNTXMYK6MDI53Q/node_modules/selenium-webdriver/lib/webdriver.js:816:17)
    at Driver.findElements (/var/lib/jenkins/workspace/V3_dev-VZ7SALLA2GROULU45V7JHW2IE4DRQVH2S7N4CVPNTXMYK6MDI53Q/node_modules/selenium-webdriver/lib/webdriver.js:1057:22)
    at ptor.waitForAngular.then (/var/lib/jenkins/workspace/V3_dev-VZ7SALLA2GROULU45V7JHW2IE4DRQVH2S7N4CVPNTXMYK6MDI53Q/node_modules/protractor/lib/element.ts:166:36)
    at ManagedPromise.invokeCallback_ (/var/lib/jenkins/workspace/V3_dev-VZ7SALLA2GROULU45V7JHW2IE4DRQVH2S7N4CVPNTXMYK6MDI53Q/node_modules/selenium-webdriver/lib/promise.js:1366:14)
    at TaskQueue.execute_ (/var/lib/jenkins/workspace/V3_dev-VZ7SALLA2GROULU45V7JHW2IE4DRQVH2S7N4CVPNTXMYK6MDI53Q/node_modules/selenium-webdriver/lib/promise.js:2970:14)
    at TaskQueue.executeNext_ (/var/lib/jenkins/workspace/V3_dev-VZ7SALLA2GROULU45V7JHW2IE4DRQVH2S7N4CVPNTXMYK6MDI53Q/node_modules/selenium-webdriver/lib/promise.js:2953:27)
    at asyncRun (/var/lib/jenkins/workspace/V3_dev-VZ7SALLA2GROULU45V7JHW2IE4DRQVH2S7N4CVPNTXMYK6MDI53Q/node_modules/selenium-webdriver/lib/promise.js:2813:27)
    at /var/lib/jenkins/workspace/V3_dev-VZ7SALLA2GROULU45V7JHW2IE4DRQVH2S7N4CVPNTXMYK6MDI53Q/node_modules/selenium-webdriver/lib/promise.js:676:7
    at <anonymous>
From: Task: <anonymous>
    at Timeout.pollCondition [as _onTimeout] (/var/lib/jenkins/workspace/V3_dev-VZ7SALLA2GROULU45V7JHW2IE4DRQVH2S7N4CVPNTXMYK6MDI53Q/node_modules/selenium-webdriver/lib/promise.js:2101:19)
    at ontimeout (timers.js:469:11)
    at tryOnTimeout (timers.js:304:5)
    at Timer.listOnTimeout (timers.js:264:5)
From: Task: <anonymous wait>
    at scheduleWait (/var/lib/jenkins/workspace/V3_dev-VZ7SALLA2GROULU45V7JHW2IE4DRQVH2S7N4CVPNTXMYK6MDI53Q/node_modules/selenium-webdriver/lib/promise.js:2094:20)
    at ControlFlow.wait (/var/lib/jenkins/workspace/V3_dev-VZ7SALLA2GROULU45V7JHW2IE4DRQVH2S7N4CVPNTXMYK6MDI53Q/node_modules/selenium-webdriver/lib/promise.js:2408:12)
    at Driver.wait (/var/lib/jenkins/workspace/V3_dev-VZ7SALLA2GROULU45V7JHW2IE4DRQVH2S7N4CVPNTXMYK6MDI53Q/node_modules/selenium-webdriver/lib/webdriver.js:943:29)
    at run (/var/lib/jenkins/workspace/V3_dev-VZ7SALLA2GROULU45V7JHW2IE4DRQVH2S7N4CVPNTXMYK6MDI53Q/node_modules/protractor/lib/browser.ts:66:27)
    at ProtractorBrowser.to.(anonymous function) [as wait] (/var/lib/jenkins/workspace/V3_dev-VZ7SALLA2GROULU45V7JHW2IE4DRQVH2S7N4CVPNTXMYK6MDI53Q/node_modules/protractor/lib/browser.ts:74:12)
    at /var/lib/jenkins/workspace/V3_dev-VZ7SALLA2GROULU45V7JHW2IE4DRQVH2S7N4CVPNTXMYK6MDI53Q/e2e/app.po.ts:365:34
    at elementArrayFinder_.then (/var/lib/jenkins/workspace/V3_dev-VZ7SALLA2GROULU45V7JHW2IE4DRQVH2S7N4CVPNTXMYK6MDI53Q/node_modules/protractor/lib/element.ts:840:22)
    at ManagedPromise.invokeCallback_ (/var/lib/jenkins/workspace/V3_dev-VZ7SALLA2GROULU45V7JHW2IE4DRQVH2S7N4CVPNTXMYK6MDI53Q/node_modules/selenium-webdriver/lib/promise.js:1366:14)
    at TaskQueue.execute_ (/var/lib/jenkins/workspace/V3_dev-VZ7SALLA2GROULU45V7JHW2IE4DRQVH2S7N4CVPNTXMYK6MDI53Q/node_modules/selenium-webdriver/lib/promise.js:2970:14)
    at TaskQueue.executeNext_ (/var/lib/jenkins/workspace/V3_dev-VZ7SALLA2GROULU45V7JHW2IE4DRQVH2S7N4CVPNTXMYK6MDI53Q/node_modules/selenium-webdriver/lib/promise.js:2953:27)
    at asyncRun (/var/lib/jenkins/workspace/V3_dev-VZ7SALLA2GROULU45V7JHW2IE4DRQVH2S7N4CVPNTXMYK6MDI53Q/node_modules/selenium-webdriver/lib/promise.js:2813:27)
    at /var/lib/jenkins/workspace/V3_dev-VZ7SALLA2GROULU45V7JHW2IE4DRQVH2S7N4CVPNTXMYK6MDI53Q/node_modules/selenium-webdriver/lib/promise.js:676:7
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7) name: 'WebDriverError' }
screenshot error : WebDriverError: chrome not reachable
  (Session info: headless chrome=63.0.3239.84)
  (Driver info: chromedriver=2.34.522913 (36222509aa6e819815938cbf2709b4849735537c),platform=Linux 4.4.0-103-generic x86_64)
screenshot error : WebDriverError: chrome not reachable
  (Session info: headless chrome=63.0.3239.84)
  (Driver info: chromedriver=2.34.522913 (36222509aa6e819815938cbf2709b4849735537c),platform=Linux 4.4.0-103-generic x86_64)
screenshot error : WebDriverError: chrome not reachable
  (Session info: headless chrome=63.0.3239.84)
  (Driver info: chromedriver=2.34.522913 (36222509aa6e819815938cbf2709b4849735537c),platform=Linux 4.4.0-103-generic x86_64)
screenshot error : WebDriverError: chrome not reachable
  (Session info: headless chrome=63.0.3239.84)
  (Driver info: chromedriver=2.34.522913 (36222509aa6e819815938cbf2709b4849735537c),platform=Linux 4.4.0-103-generic x86_64)
screenshot error : WebDriverError: chrome not reachable
  (Session info: headless chrome=63.0.3239.84)
  (Driver info: chromedriver=2.34.522913 (36222509aa6e819815938cbf2709b4849735537c),platform=Linux 4.4.0-103-generic x86_64)
screenshot error : WebDriverError: chrome not reachable
  (Session info: headless chrome=63.0.3239.84)
  (Driver info: chromedriver=2.34.522913 (36222509aa6e819815938cbf2709b4849735537c),platform=Linux 4.4.0-103-generic x86_64)
screenshot error : WebDriverError: chrome not reachable
  (Session info: headless chrome=63.0.3239.84)
  (Driver info: chromedriver=2.34.522913 (36222509aa6e819815938cbf2709b4849735537c),platform=Linux 4.4.0-103-generic x86_64)
screenshot error : WebDriverError: chrome not reachable
  (Session info: headless chrome=63.0.3239.84)
  (Driver info: chromedriver=2.34.522913 (36222509aa6e819815938cbf2709b4849735537c),platform=Linux 4.4.0-103-generic x86_64)
screenshot error : WebDriverError: chrome not reachable
  (Session info: headless chrome=63.0.3239.84)
  (Driver info: chromedriver=2.34.522913 (36222509aa6e819815938cbf2709b4849735537c),platform=Linux 4.4.0-103-generic x86_64)
screenshot error : WebDriverError: chrome not reachable
  (Session info: headless chrome=63.0.3239.84)
  (Driver info: chromedriver=2.34.522913 (36222509aa6e819815938cbf2709b4849735537c),platform=Linux 4.4.0-103-generic x86_64)
screenshot error : WebDriverError: chrome not reachable
  (Session info: headless chrome=63.0.3239.84)
  (Driver info: chromedriver=2.34.522913 (36222509aa6e819815938cbf2709b4849735537c),platform=Linux 4.4.0-103-generic x86_64)
screenshot error : WebDriverError: chrome not reachable
  (Session info: headless chrome=63.0.3239.84)
  (Driver info: chromedriver=2.34.522913 (36222509aa6e819815938cbf2709b4849735537c),platform=Linux 4.4.0-103-generic x86_64)
screenshot error : WebDriverError: chrome not reachable
  (Session info: headless chrome=63.0.3239.84)
  (Driver info: chromedriver=2.34.522913 (36222509aa6e819815938cbf2709b4849735537c),platform=Linux 4.4.0-103-generic x86_64)
screenshot error : WebDriverError: chrome not reachable
  (Session info: headless chrome=63.0.3239.84)
  (Driver info: chromedriver=2.34.522913 (36222509aa6e819815938cbf2709b4849735537c),platform=Linux 4.4.0-103-generic x86_64)
screenshot error : WebDriverError: chrome not reachable
  (Session info: headless chrome=63.0.3239.84)
  (Driver info: chromedriver=2.34.522913 (36222509aa6e819815938cbf2709b4849735537c),platform=Linux 4.4.0-103-generic x86_64)
  • Node Version: 8.4.0
  • Protractor Version: 5.2.1
  • Angular Version: 4.2.6
  • Browser(s): Chrome (Headless)
  • Operating System and Version : Ubuntu 16.04

Protractor configuration file

var jasmineReporters = require('jasmine-reporters');

exports.config = {
  allScriptsTimeout: 60000,
  baseUrl: 'http://localhost:4200/',
  suites: {
    V3_Sanity: [
      './e2e/Flows/Sanity/**/analytics_dashboard.e2e-spec.ts',
      './e2e/Flows/Sanity/**/executive_dashboard.e2e-spec.ts',
      './e2e/Flows/Sanity/**/my_views.e2e-spec.ts',
      './e2e/Flows/Sanity/**/question_analysis.e2e-spec.ts',
      './e2e/Flows/Sanity/**/responses.e2e-spec.ts',
      './e2e/Flows/Sanity/**/login_page.e2e-spec.ts'
    ],
    V3_e2e: [
      './e2e/Flows/E2E/**/flow1.e2e-spec.ts',
      './e2e/Flows/E2E/**/flow2.e2e-spec.ts',
      './e2e/Flows/E2E/**/flow3.e2e-spec.ts',
      './e2e/Flows/E2E/**/flow4.e2e-spec.ts',
      './e2e/Flows/E2E/**/flow5.e2e-spec.ts',
      './e2e/Flows/E2E/**/flow6.e2e-spec.ts'
    ],
    QB_Sanity: [
      './e2e/Flows/QB Sanity/**/question_config.e2e-spec.ts',
      './e2e/Flows/QB Sanity/**/right_panel.e2e-spec.ts',
      './e2e/Flows/QB Sanity/**/question_types.e2e-spec.ts'
    ],
    CT_Sanity: [
      './e2e/Flows/Contingency Table Sanity/**/CT_load_test.e2e-spec.ts'
    ],
    Response_Filter: [
      './e2e/Flows/ResponsesFilter/responses_filter.e2e-spec.ts'
    ],
    DropOff: [
      './e2e/Flows/Response DropOff/response_drop_off.e2e-spec.ts'
    ],
    Trend_Notification: [
      './e2e/Flows/Trend Based Notification/trend_sanity.e2e-spec.ts'
    ],
    Response_Filter: [
      './e2e/Flows/ResponsesFilter/responses_filter_analytics.e2e-spec.ts',
      './e2e/Flows/ResponsesFilter/responses_filter_responses.e2e-spec.ts'
    ]
  },
  capabilities: {
    browserName: 'chrome',
    chromeOptions: {
     binary: '/usr/bin/google-chrome-stable', 
      args: ["--headless", "--disable-gpu", "--window-size=1440x900", "--no-sandbox"]
    }
  },
  directConnect: true,
  framework: 'jasmine',
  jasmineNodeOpts: {
    showColors: true,
    defaultTimeoutInterval: 60000,
    print: function () { }
  },
  useAllAngular2AppRoots: true,

  beforeLaunch: function () {
    require('ts-node').register({
      project: 'e2e'
    });
  },

  onPrepare: function () {
    browser.manage().window().maximize();
    require('ts-node').register({ project: 'e2e' });
    var fs = require('fs-extra');

    fs.emptyDir('./e2e/target/screenshots/', function (err) {
      console.log(err);
    });

    jasmine.getEnv().addReporter({
      specDone: function (result) {
        if (result.status == 'failed') {
          browser.getCapabilities().then(function (caps) {
            var browserName = caps.get('browserName');

            browser.takeScreenshot().then(function (png) {
              console.log("taken")
              var stream = fs.createWriteStream('e2e/target/screenshots/' + browserName + '-' + result.fullName + '.png');
              stream.write(new Buffer(png, 'base64'));
              stream.end();
            }, (err) => {
              console.log("screenshot error : " + err)
            });
          });
        }
      }
    });

    // jasmine.getEnv().addReporter(reporter);
    jasmine.getEnv().addReporter(new jasmineReporters.JUnitXmlReporter({
      consolidateAll: true,
      savePath: './e2e/target/screenshots',
      filePrefix: 'xmlresults'
    }));
  },

  afterLaunch: function (exitCode) {
  },

  //HTMLReport called once tests are finished
  onComplete: function () {

    //save browser logs
    browser.manage().logs()
      .get('browser').then(function (browserLog) {
        console.log('log :' +
          require('util').inspect(browserLog));
      });

    var browserName, browserVersion;
    var capsPromise = browser.getCapabilities();

    capsPromise.then(function (caps) {
      browserName = caps.get('browserName');
      browserVersion = caps.get('version');

      var HTMLReport = require('protractor-html-reporter');

      testConfig = {
        reportTitle: 'Test Execution Report',
        outputPath: 'e2e/target/screenshots',
        screenshotPath: '.',
        testBrowser: browserName,
        browserVersion: browserVersion,
        modifiedSuiteName: false,
        screenshotsOnlyOnFailure: true
      };
      new HTMLReport().from('e2e/target/screenshots/xmlresults.xml', testConfig);
    });
  }
};

By randomly I mean, sometimes the whole test runs successfully but sometimes it fails at the very beginning of the test or after running a few test suites, with the error message “screenshot error : WebDriverError: chrome not reachable”.

I am facing this issue in my cloud ubuntu 16.04 server. Which was running properly until recently but suddenly it has started failing.

Another point to be noted is, it runs successfully for less number of test suits.Also these tests are running properly in my local Ubuntu 16.04 machine and have never got this issue while running in headless.

I also tried reinstalling chrome, but it didn’t help.

I checked memory usage also, but will running the tests it has sufficient memory available.

I referred stackoverflow issues but they are all related to protractor configuration issues. Which seems to fine for me.

Not sure if its a bug or not. But can’t figure out the reason behind it.

Issue Analytics

  • State:closed
  • Created 6 years ago
  • Comments:7 (2 by maintainers)

github_iconTop GitHub Comments

1reaction
Chhayak74commented, Dec 18, 2017

Updating nodejs and npm did the job.

0reactions
ragavanrajancommented, Jun 19, 2018

Please let me know the version of npm and nodejs

Read more comments on GitHub >

github_iconTop Results From Across the Web

webdriver - Protractor tests failing randomly - screenshot error ...
2) Add the path to the Chrome browser binary (the actual browser, not driver) file in ChromeOptions. This is needed when running headless....
Read more >
795 - Closing chromedriver causes 'chrome not reachable' in ...
On my laptop, when I run the tests with five parallel instances, I get the 'chrome not reachable' error pretty much every time....
Read more >
ChromeDriver 99.0.4844.51 Update : error: target frame ...
error message differ from time to time, and they are random but frequent. Keyword 'Capture Page Screenshot' could not be run on failure:...
Read more >
angular/protractor - Gitter
i'm using protractor with mocha framework. The tests are failing randomly.It seems to be not because of the script as it fails randomly...
Read more >
Protractor - Chromedriver error in azure devops pipeline
I am getting the following error in Azure Devops pipeline when running the protractor tests. How can i fix this ? enter image...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found