Protractor tests failing randomly - screenshot error : WebDriverError: chrome not reachable
See original GitHub issueBug 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:
- Created 6 years ago
- Comments:7 (2 by maintainers)
Top GitHub Comments
Updating nodejs and npm did the job.
Please let me know the version of npm and nodejs