量角器远程 Seleniumbox:SELF_SIGNED_CERT_IN_CHAIN 错误

Protractor Remote Seleniumbox: SELF_SIGNED_CERT_IN_CHAIN error

我们正在 运行 远程 Seleniumbox 并希望 运行 我们对其进行测试。远程selenium的地址证书是公司自己签名的。我有根证书,但不知道要包含它们。我已经尝试使用 npm ca、--ignore-ssl-strict 等选项也设置功能,但没有任何效果。看起来所有这些设置都是为了 seleniumbox 和测试站点之间的连接。但是我之前有证书问题,当构建服务器想要连接到 seleniumbox 时。

[08:59:28] I/update - chromedriver: chromedriver_88.0.4324.96.exe up to date
[08:59:28] I/launcher - Running 1 instances of WebDriver
[08:59:28] I/hosted - Using the selenium server at https://seleniumbox.xxxxxxxx.xx/wd/hub
[08:59:28] E/launcher - SELF_SIGNED_CERT_IN_CHAIN self signed certificate in certificate chain
[08:59:28] E/launcher - Error: SELF_SIGNED_CERT_IN_CHAIN self signed certificate in certificate chain
    at ClientRequest.<anonymous> (XXX\node_modules\selenium-webdriver\http\index.js:238:15)
    at ClientRequest.emit (events.js:223:5)
    at TLSSocket.socketErrorListener (_http_client.js:406:9)
    at TLSSocket.emit (events.js:223:5)
    at emitErrorNT (internal/streams/destroy.js:92:8)
    at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)
    at processTicksAndRejections (internal/process/task_queues.js:81:21)
From: Task: WebDriver.createSession()
    at Function.createSession (XXX\node_modules\selenium-webdriver\lib\webdriver.js:769:24)
    at Function.createSession (XXX\node_modules\selenium-webdriver\chrome.js:761:15)
    at createDriver (XXX\node_modules\selenium-webdriver\index.js:170:33)
    at Builder.build (XXX\node_modules\selenium-webdriver\index.js:626:16)
    at Hosted.getNewDriver (XXX\node_modules\protractor\built\driverProviders\driverProvider.js:53:33)
    at Runner.createBrowser (XXX\node_modules\protractor\built\runner.js:195:43)
    at XXX\node_modules\protractor\built\runner.js:339:29
    at _fulfilled (XXX\node_modules\protractor\node_modules\q\q.js:834:54)
    at XXX\node_modules\protractor\node_modules\q\q.js:863:30
    at Promise.promise.promiseDispatch (XXX\node_modules\protractor\node_modules\q\q.js:796:13)
[08:59:28] E/launcher - Process exited with error code 199

有人有想法吗?

感谢和问候

您可以将 ssl 验证关闭为

npm config set strict-ssl false

但不推荐这样做,而是将根证书添加到证书链中。为此,请按照以下步骤操作。当你想添加一个不同的根时,创建该根的相应 cer 文件并复制内容并将其添加到你的 crt 文件的末尾。

步骤:

保存证书:

在 chrome

中打开 https://seleniumbox.xxxxxxxx.xx/wd/hub

单击锁定图标 > 单击查看证书

点击证书路径 > 点击根 > 点击查看证书

点击详细信息,>点击复制到文件> select base 64 cert.cer

另存为cert.cer

Npm 配置:

npm 配置设置 cafile "C:<路径>\cert.cer"

更新:

尝试使用:

SET NODE_EXTRA_CA_CERTS="C:\<pathto>\cert.cer"

一起dissable tls(不推荐)

SET NODE_TLS_REJECT_UNAUTHORIZED=0

这将阻止未经授权的 tls 被拒绝