使用https协议连接到本地服务器时,量角器握手失败

时间:2019-07-12 09:47:12

标签: protractor angular-cli e2e-testing

我正在尝试编写量角器测试,但是我的应用程序连接到使用TEST证书进行身份验证以进行进一步通信的WLS服务器。

由于公司政策的缘故,我无法选择更新网络驱动程序。因此,我已经下载并使用了chrome驱动程序。

量角器:5.4.2

Chrome:74.0.3729.169

Chrome驱动程序: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}}));
  }
};

但是我收到如下错误:

  

[0712 / 104633.475:ERROR:ssl_client_socket_impl.cc(946)]握手   失败返回-1,SSL错误代码1,net_error -117   [0712 / 104633.548:INFO:CONSOLE(27396)]“ HTTP的失败响应   https://localhost:25000/app/api/disciplines:0未知错误”,来源:   http://localhost:8082/app/main.js(27396)

2 个答案:

答案 0 :(得分:0)

尝试将--allow-insecure-localhost和/或--ignore-certificate-errors添加到args数组。

  chromeOptions: {
    args: [
      '--headless',
      '--ignore-certificate-errors',
      '--allow-insecure-localhost'
    ]
  }

答案 1 :(得分:0)

我能够通过以下方法解决它:

AutoSelectCertificateForUrls

通过编辑注册表,我能够停止弹出窗口并进行自动选择,并且可以成功运行测试。