Search code examples
protractorangular-clie2e-testing

Protractor handshake failed when connecting to local server with https protocol


I am trying to write protractor test but my application connects to WLS server which uses TEST certificates to authenticate for further communication.

I have no option for webdriver update because of my company policy.So I have downloaded chrome driver and using it.

Protractor : 5.4.2

Chrome: 74.0.3729.169

Chrome Driver: chromedriver_74.0.3729.6_win32

// Protractor configuration file, see link for more information
// https://github.com/angular/protractor/blob/master/lib/config.ts

const {SpecReporter} = require('jasmine-spec-reporter');

exports.config = {
  allScriptsTimeout: 30000,
  chromeDriver: '../lib/chromedriver_74.0.3729.6_win32.exe',
  specs: [
    './src/**/*.e2e-spec.ts'
  ],
  capabilities: {
    'browserName': 'chrome',
    'acceptInsecureCerts': true,
    'acceptSslCerts': true,
    chromeOptions: {
      useAutomationExtension: false,
      args: ['--headless']
    }
  },
  framework: 'jasmine',
  directConnect: true,
  troubleshoot: true,
  jasmineNodeOpts: {
    showTiming: true,
    showColors: true,
    defaultTimeoutInterval: 2500000,
    print: function () {
    }
  },
  onPrepare: function () {
    require('ts-node').register({
      project: require('path').join(__dirname, './tsconfig.e2e.json')
    });
    jasmine.getEnv().addReporter(new SpecReporter({spec: {displayStacktrace: true}}));
  }
};

But I am getting error as below:

[0712/104633.475:ERROR:ssl_client_socket_impl.cc(946)] handshake failed; returned -1, SSL error code 1, net_error -117 [0712/104633.548:INFO:CONSOLE(27396)] "Http failure response for https://localhost:25000/app/api/disciplines: 0 Unknown Error", source: http://localhost:8082/app/main.js (27396)


Solution

  • I was able to resolve it by using the following method :

    AutoSelectCertificateForUrls

    By editing the registry, I was able to stop the popup and do auto-select and could run my test successfully.