| [0/8] Installing jquery@3.x[npminstall:get] retry GET https://registry.npm.taobao.org/jwebdriver after 100ms, retry left 4, error: Error: certificate has expired ClientRequest.<anonymous>

昨天用开源项目UIRecorder初始化时报错,查看日志发现是淘宝的源证书过期,如下:

PS E:\20231213\uirecorder\uirecorder_test> 
PS E:\20231213\uirecorder\uirecorder_test> uirecorder init                                                          
    __  ______   ____                           __         
   / / / /  _/  / __ \___  _________  _________/ /__  _____
  / / / // /   / /_/ / _ \/ ___/ __ \/ ___/ __  / _ \/ ___/
 / /_/ // /   / _, _/  __/ /__/ /_/ / /  / /_/ /  __/ /    
 \____/___/  /_/ |_|\___/\___/\____/_/   \__,_/\___/_/    v3.5.3

Official Site: http://uirecorder.com
------------------------------------------------------------------

? Path扩展属性配置,除id,name,class之外 (data-id,data-name,type,data-type,role,data-role,data-value) 


D:\nodejs\node_global\node_modules\uirecorder\node_modules\.store\got@5.7.1\node_modules\got\index.js:74
                        ee.emit('error', new got.RequestError(err, opts));
                                         ^
ErrorClass [RequestError]: certificate has expired
    at ClientRequest.<anonymous> (D:\nodejs\node_global\node_modules\uirecorder\node_modules\.store\got@5.7.1\node_modules\got\index.js:74:21)
    at Object.onceWrapper (node:events:632:26)
    at ClientRequest.emit (node:events:517:28)
    at TLSSocket.socketErrorListener (node:_http_client:501:9)
    at TLSSocket.emit (node:events:517:28)
    at ClientRequest.<anonymous> (D:\nodejs\node_global\node_modules\uirecorder\node_modules\.store\got@5.7.1\node_modules\got\index.js:74:21)
    at Object.onceWrapper (node:events:632:26)
    at ClientRequest.emit (node:events:517:28)
    at TLSSocket.socketErrorListener (node:_http_client:501:9)
    at TLSSocket.emit (node:events:517:28)
    at emitErrorNT (node:internal/streams/destroy:151:8)
    at emitErrorCloseNT (node:internal/streams/destroy:116:3)
    at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
  code: 'CERT_HAS_EXPIRED',
  host: 'registry.npm.taobao.org',
  hostname: 'registry.npm.taobao.org',
  method: 'GET',
  path: '/uirecorder'
}

Node.js v18.19.0

就换了个npm源:npm config set registry https://registry.npmmirror.com,发现文件创建成功,但又报源证书过期,如 [npminstall:get] retry GET https://registry.npm.taobao.org/chai after 100ms, retry left 4, error: Error: certificate has expired

错误日志:

PS E:\20231213\uirecorder\uirecorder_test>
PS E:\20231213\uirecorder\uirecorder_test> npm cache clean --force
npm WARN using --force Recommended protections disabled.
PS E:\20231213\uirecorder\uirecorder_test> 
PS E:\20231213\uirecorder\uirecorder_test>
PS E:\20231213\uirecorder\uirecorder_test> npm config set registry https://registry.npmmirror.com
PS E:\20231213\uirecorder\uirecorder_test> 
PS E:\20231213\uirecorder\uirecorder_test> npm config get registry
https://registry.npmmirror.com
PS E:\20231213\uirecorder\uirecorder_test>
PS E:\20231213\uirecorder\uirecorder_test>
PS E:\20231213\uirecorder\uirecorder_test>
PS E:\20231213\uirecorder\uirecorder_test> uirecorder init                                       
    __  ______   ____                           __         
   / / / /  _/  / __ \___  _________  _________/ /__  _____
  / / / // /   / /_/ / _ \/ ___/ __ \/ ___/ __  / _ \/ ___/
 / /_/ // /   / _, _/  __/ /__/ /_/ / /  / /_/ /  __/ /
 \____/___/  /_/ |_|\___/\___/\____/_/   \__,_/\___/_/    v3.5.3

Official Site: http://uirecorder.com
------------------------------------------------------------------

? Path扩展属性配置,除id,name,class之外 data-id,data-name,type,data-type,role,data-role,data-value
? 属性值黑名单正则
? class值黑名单正则
? 断言前隐藏
? WebDriver域名或IP 127.0.0.1
? WebDriver端口号 4444
? 需要同时测试的浏览器列表 chrome, ie 11

config.json 文件保存成功
package.json 文件创建成功
README.md 文件创建成功
screenshots 文件夹创建成功
commons 文件夹创建成功
uploadfiles 文件夹创建成功
.editorconfig 文件创建成功
.gitignore 文件创建成功
install.sh 文件创建成功
run.bat 文件创建成功
run.sh 文件创建成功
hosts 文件创建成功
.vscode/launch.json 文件创建成功

Start install project dependencies...
--------------------------------------------

- [npminstall:get] retry GET https://registry.npm.taobao.org/chai after 100ms, retry left 4, error: Error: certificate has expired
    at TLSSocket.onConnectSecure (node:_tls_wrap:1659:34)
    at TLSSocket.emit (node:events:517:28)
    at TLSSocket._finishInit (node:_tls_wrap:1070:8)
    at ssl.onhandshakedone (node:_tls_wrap:856:12) {
  code: 'CERT_HAS_EXPIRED',
  name: 'ResponseError',
  data: undefined,
  path: '/chai',
  status: -1,
  headers: {},
  res: [Object]
}
[npminstall:get] retry GET https://registry.npm.taobao.org/resemblejs-node after 100ms, retry left 4, error: Error: certificate has expired
    at TLSSocket.onConnectSecure (node:_tls_wrap:1659:34)
    at TLSSocket.emit (node:events:517:28)
    at TLSSocket._finishInit (node:_tls_wrap:1070:8)
    at ssl.onhandshakedone (node:_tls_wrap:856:12) {
  code: 'CERT_HAS_EXPIRED',
  name: 'ResponseError',
  data: undefined,
  path: '/resemblejs-node',
  status: -1,
  headers: {},
  res: [Object]
}
[npminstall:get] retry GET https://registry.npm.taobao.org/macaca-mocha-parallel-tests after 100ms, retry left 4, error: Error: certificate has expired
    at TLSSocket.onConnectSecure (node:_tls_wrap:1659:34)
    at TLSSocket.emit (node:events:517:28)
    at TLSSocket._finishInit (node:_tls_wrap:1070:8)
    at ssl.onhandshakedone (node:_tls_wrap:856:12) {
  code: 'CERT_HAS_EXPIRED',
  name: 'ResponseError',
  data: undefined,
  path: '/macaca-mocha-parallel-tests',
  status: -1,
  headers: {},
  res: [Object]
}
[npminstall:get] retry GET https://registry.npm.taobao.org/macaca-reporter after 100ms, retry left 4, error: Error: certificate has expired
    at TLSSocket.onConnectSecure (node:_tls_wrap:1659:34)
    at TLSSocket.emit (node:events:517:28)
    at TLSSocket._finishInit (node:_tls_wrap:1070:8)
    at ssl.onhandshakedone (node:_tls_wrap:856:12) {
  code: 'CERT_HAS_EXPIRED',
  name: 'ResponseError',
  data: undefined,
  path: '/macaca-reporter',
  status: -1,
  headers: {},
  res: [Object]
}
[npminstall:get] retry GET https://registry.npm.taobao.org/jwebdriver after 100ms, retry left 4, error: Error: certificate has expired
    at TLSSocket.onConnectSecure (node:_tls_wrap:1659:34)
    at TLSSocket.emit (node:events:517:28)
    at TLSSocket._finishInit (node:_tls_wrap:1070:8)
    at ssl.onhandshakedone (node:_tls_wrap:856:12) {
  code: 'CERT_HAS_EXPIRED',
  name: 'ResponseError',
  data: undefined,
  path: '/jwebdriver',
  status: -1,
  headers: {},
  res: [Object]
}
[npminstall:get] retry GET https://registry.npm.taobao.org/selenium-standalone after 100ms, retry left 4, error: Error: certificate has expired
    at TLSSocket.onConnectSecure (node:_tls_wrap:1659:34)
    at TLSSocket.emit (node:events:517:28)
    at TLSSocket._finishInit (node:_tls_wrap:1070:8)
    at ssl.onhandshakedone (node:_tls_wrap:856:12) {
  code: 'CERT_HAS_EXPIRED',
  name: 'ResponseError',
  data: undefined,
  path: '/selenium-standalone',
  status: -1,
  headers: {},
  res: [Object]
}
[npminstall:get] retry GET https://registry.npm.taobao.org/jquery after 100ms, retry left 4, error: Error: certificate has expired
    at TLSSocket.onConnectSecure (node:_tls_wrap:1659:34)
    at TLSSocket.emit (node:events:517:28)
    at TLSSocket._finishInit (node:_tls_wrap:1070:8)
    at ssl.onhandshakedone (node:_tls_wrap:856:12) {
  code: 'CERT_HAS_EXPIRED',
  name: 'ResponseError',
  data: undefined,
  path: '/jquery',
  status: -1,
  headers: {},
  res: [Object]
}
[npminstall:get] retry GET https://registry.npm.taobao.org/mocha after 100ms, retry left 4, error: Error: certificate has expired
    at TLSSocket.onConnectSecure (node:_tls_wrap:1659:34)
    at TLSSocket.emit (node:events:517:28)
    at TLSSocket._finishInit (node:_tls_wrap:1070:8)
    at ssl.onhandshakedone (node:_tls_wrap:856:12) {
  code: 'CERT_HAS_EXPIRED',
  name: 'ResponseError',
  data: undefined,
  path: '/mocha',
  status: -1,
  headers: {},
  res: [Object]
}
| [0/8] Installing selenium-standalone@6.x.x[npminstall:get] retry GET https://registry.npm.taobao.org/jwebdriver after 200ms, retry left 3, error: Error: certificate has expired
    at TLSSocket.onConnectSecure (node:_tls_wrap:1659:34)
    at TLSSocket.emit (node:events:517:28)
    at TLSSocket._finishInit (node:_tls_wrap:1070:8)
    at ssl.onhandshakedone (node:_tls_wrap:856:12) {
  code: 'CERT_HAS_EXPIRED',
  name: 'ResponseError',
  data: undefined,
  path: '/jwebdriver',
  status: -1,
  headers: {},
  res: [Object]
}
[npminstall:get] retry GET https://registry.npm.taobao.org/resemblejs-node after 200ms, retry left 3, error: Error: certificate has expired
    at TLSSocket.onConnectSecure (node:_tls_wrap:1659:34)
    at TLSSocket.emit (node:events:517:28)
    at TLSSocket._finishInit (node:_tls_wrap:1070:8)
    at ssl.onhandshakedone (node:_tls_wrap:856:12) {
  code: 'CERT_HAS_EXPIRED',
  name: 'ResponseError',
  data: undefined,
  path: '/resemblejs-node',
  status: -1,
  headers: {},
  res: [Object]
}
[npminstall:get] retry GET https://registry.npm.taobao.org/mocha after 200ms, retry left 3, error: Error: certificate has expired
    at TLSSocket.onConnectSecure (node:_tls_wrap:1659:34)
    at TLSSocket.emit (node:events:517:28)
    at TLSSocket._finishInit (node:_tls_wrap:1070:8)
    at ssl.onhandshakedone (node:_tls_wrap:856:12) {
  code: 'CERT_HAS_EXPIRED',
  name: 'ResponseError',
  data: undefined,
  path: '/mocha',
  status: -1,
  headers: {},
  res: [Object]
}
[npminstall:get] retry GET https://registry.npm.taobao.org/selenium-standalone after 200ms, retry left 3, error: Error: certificate has expired
    at TLSSocket.onConnectSecure (node:_tls_wrap:1659:34)
    at TLSSocket.emit (node:events:517:28)
    at TLSSocket._finishInit (node:_tls_wrap:1070:8)
    at ssl.onhandshakedone (node:_tls_wrap:856:12) {
  code: 'CERT_HAS_EXPIRED',
  name: 'ResponseError',
  data: undefined,
  path: '/selenium-standalone',
  status: -1,
  headers: {},
  res: [Object]
}
[npminstall:get] retry GET https://registry.npm.taobao.org/chai after 200ms, retry left 3, error: Error: certificate has expired
    at TLSSocket.onConnectSecure (node:_tls_wrap:1659:34)
    at TLSSocket.emit (node:events:517:28)
    at TLSSocket._finishInit (node:_tls_wrap:1070:8)
    at ssl.onhandshakedone (node:_tls_wrap:856:12) {
  code: 'CERT_HAS_EXPIRED',
  name: 'ResponseError',
  data: undefined,
  path: '/chai',
  status: -1,
  headers: {},
  res: [Object]
}
[npminstall:get] retry GET https://registry.npm.taobao.org/jquery after 200ms, retry left 3, error: Error: certificate has expired
    at TLSSocket.onConnectSecure (node:_tls_wrap:1659:34)
    at TLSSocket.emit (node:events:517:28)
    at TLSSocket._finishInit (node:_tls_wrap:1070:8)
    at ssl.onhandshakedone (node:_tls_wrap:856:12) {
  code: 'CERT_HAS_EXPIRED',
  name: 'ResponseError',
  data: undefined,
  path: '/jquery',
  status: -1,
  headers: {},
  res: [Object]
}
[npminstall:get] retry GET https://registry.npm.taobao.org/macaca-mocha-parallel-tests after 200ms, retry left 3, error: Error: certificate has expired
    at TLSSocket.onConnectSecure (node:_tls_wrap:1659:34)
    at TLSSocket.emit (node:events:517:28)
    at TLSSocket._finishInit (node:_tls_wrap:1070:8)
    at ssl.onhandshakedone (node:_tls_wrap:856:12) {
  code: 'CERT_HAS_EXPIRED',
  name: 'ResponseError',
  data: undefined,
  path: '/macaca-mocha-parallel-tests',
  status: -1,
  headers: {},
  res: [Object]
}
[npminstall:get] retry GET https://registry.npm.taobao.org/macaca-reporter after 200ms, retry left 3, error: Error: certificate has expired
    at TLSSocket.onConnectSecure (node:_tls_wrap:1659:34)
    at TLSSocket.emit (node:events:517:28)
    at TLSSocket._finishInit (node:_tls_wrap:1070:8)
    at ssl.onhandshakedone (node:_tls_wrap:856:12) {
  code: 'CERT_HAS_EXPIRED',
  name: 'ResponseError',
  data: undefined,
  path: '/macaca-reporter',
  status: -1,
  headers: {},
  res: [Object]
}
- [0/8] Installing selenium-standalone@6.x.x[npminstall:get] retry GET https://registry.npm.taobao.org/chai after 300ms, retry left 2, error: Error: certificate has expired
    at TLSSocket.onConnectSecure (node:_tls_wrap:1659:34)
    at TLSSocket.emit (node:events:517:28)
    at TLSSocket._finishInit (node:_tls_wrap:1070:8)
    at ssl.onhandshakedone (node:_tls_wrap:856:12) {
  code: 'CERT_HAS_EXPIRED',
  name: 'ResponseError',
  data: undefined,
  path: '/chai',
  status: -1,
  headers: {},
  res: [Object]
}
[npminstall:get] retry GET https://registry.npm.taobao.org/jwebdriver after 300ms, retry left 2, error: Error: certificate has expired
    at TLSSocket.onConnectSecure (node:_tls_wrap:1659:34)
    at TLSSocket.emit (node:events:517:28)
    at TLSSocket._finishInit (node:_tls_wrap:1070:8)
    at ssl.onhandshakedone (node:_tls_wrap:856:12) {
  code: 'CERT_HAS_EXPIRED',
  name: 'ResponseError',
  data: undefined,
  path: '/jwebdriver',
  status: -1,
  headers: {},
  res: [Object]
}
[npminstall:get] retry GET https://registry.npm.taobao.org/resemblejs-node after 300ms, retry left 2, error: Error: certificate has expired
    at TLSSocket.onConnectSecure (node:_tls_wrap:1659:34)
    at TLSSocket.emit (node:events:517:28)
    at TLSSocket._finishInit (node:_tls_wrap:1070:8)
    at ssl.onhandshakedone (node:_tls_wrap:856:12) {
  code: 'CERT_HAS_EXPIRED',
  name: 'ResponseError',
  data: undefined,
  path: '/resemblejs-node',
  status: -1,
  headers: {},
  res: [Object]
}
[npminstall:get] retry GET https://registry.npm.taobao.org/macaca-mocha-parallel-tests after 300ms, retry left 2, error: Error: certificate has expired
    at TLSSocket.onConnectSecure (node:_tls_wrap:1659:34)
    at TLSSocket.emit (node:events:517:28)
    at TLSSocket._finishInit (node:_tls_wrap:1070:8)
    at ssl.onhandshakedone (node:_tls_wrap:856:12) {
  code: 'CERT_HAS_EXPIRED',
  name: 'ResponseError',
  data: undefined,
  path: '/macaca-mocha-parallel-tests',
  status: -1,
  headers: {},
  res: [Object]
}
[npminstall:get] retry GET https://registry.npm.taobao.org/jquery after 300ms, retry left 2, error: Error: certificate has expired
    at TLSSocket.onConnectSecure (node:_tls_wrap:1659:34)
    at TLSSocket.emit (node:events:517:28)
    at TLSSocket._finishInit (node:_tls_wrap:1070:8)
    at ssl.onhandshakedone (node:_tls_wrap:856:12) {
  code: 'CERT_HAS_EXPIRED',
  name: 'ResponseError',
  data: undefined,
  path: '/jquery',
  status: -1,
  headers: {},
  res: [Object]
}
[npminstall:get] retry GET https://registry.npm.taobao.org/selenium-standalone after 300ms, retry left 2, error: Error: certificate has expired
    at TLSSocket.onConnectSecure (node:_tls_wrap:1659:34)
    at TLSSocket.emit (node:events:517:28)
    at TLSSocket._finishInit (node:_tls_wrap:1070:8)
    at ssl.onhandshakedone (node:_tls_wrap:856:12) {
  code: 'CERT_HAS_EXPIRED',
  name: 'ResponseError',
  data: undefined,
  path: '/selenium-standalone',
  status: -1,
  headers: {},
  res: [Object]
}
[npminstall:get] retry GET https://registry.npm.taobao.org/macaca-reporter after 300ms, retry left 2, error: Error: certificate has expired
    at TLSSocket.onConnectSecure (node:_tls_wrap:1659:34)
    at TLSSocket.emit (node:events:517:28)
    at TLSSocket._finishInit (node:_tls_wrap:1070:8)
    at ssl.onhandshakedone (node:_tls_wrap:856:12) {
  code: 'CERT_HAS_EXPIRED',
  name: 'ResponseError',
  data: undefined,
  path: '/macaca-reporter',
  status: -1,
  headers: {},
  res: [Object]
}
[npminstall:get] retry GET https://registry.npm.taobao.org/mocha after 300ms, retry left 2, error: Error: certificate has expired
    at TLSSocket.onConnectSecure (node:_tls_wrap:1659:34)
    at TLSSocket.emit (node:events:517:28)
    at TLSSocket._finishInit (node:_tls_wrap:1070:8)
    at ssl.onhandshakedone (node:_tls_wrap:856:12) {
  code: 'CERT_HAS_EXPIRED',
  name: 'ResponseError',
  data: undefined,
  path: '/mocha',
  status: -1,
  headers: {},
  res: [Object]
}
| [0/8] Installing selenium-standalone@6.x.x[npminstall:get] retry GET https://registry.npm.taobao.org/selenium-standalone after 400ms, retry left 1, error: Error: certificate has expired
    at TLSSocket.onConnectSecure (node:_tls_wrap:1659:34)
    at TLSSocket.emit (node:events:517:28)
    at TLSSocket._finishInit (node:_tls_wrap:1070:8)
    at ssl.onhandshakedone (node:_tls_wrap:856:12) {
  code: 'CERT_HAS_EXPIRED',
  name: 'ResponseError',
  data: undefined,
  path: '/selenium-standalone',
  status: -1,
  headers: {},
  res: [Object]
}
[npminstall:get] retry GET https://registry.npm.taobao.org/resemblejs-node after 400ms, retry left 1, error: Error: certificate has expired
    at TLSSocket.onConnectSecure (node:_tls_wrap:1659:34)
    at TLSSocket.emit (node:events:517:28)
    at TLSSocket._finishInit (node:_tls_wrap:1070:8)
    at ssl.onhandshakedone (node:_tls_wrap:856:12) {
  code: 'CERT_HAS_EXPIRED',
  name: 'ResponseError',
  data: undefined,
  path: '/resemblejs-node',
  status: -1,
  headers: {},
  res: [Object]
}
[npminstall:get] retry GET https://registry.npm.taobao.org/jquery after 400ms, retry left 1, error: Error: certificate has expired
    at TLSSocket.onConnectSecure (node:_tls_wrap:1659:34)
    at TLSSocket.emit (node:events:517:28)
    at TLSSocket._finishInit (node:_tls_wrap:1070:8)
    at ssl.onhandshakedone (node:_tls_wrap:856:12) {
  code: 'CERT_HAS_EXPIRED',
  name: 'ResponseError',
  data: undefined,
  path: '/jquery',
  status: -1,
  headers: {},
  res: [Object]
}
[npminstall:get] retry GET https://registry.npm.taobao.org/jwebdriver after 400ms, retry left 1, error: Error: certificate has expired
    at TLSSocket.onConnectSecure (node:_tls_wrap:1659:34)
    at TLSSocket.emit (node:events:517:28)
    at TLSSocket._finishInit (node:_tls_wrap:1070:8)
    at ssl.onhandshakedone (node:_tls_wrap:856:12) {
  code: 'CERT_HAS_EXPIRED',
  name: 'ResponseError',
  data: undefined,
  path: '/jwebdriver',
  status: -1,
  headers: {},
  res: [Object]
}
[npminstall:get] retry GET https://registry.npm.taobao.org/macaca-mocha-parallel-tests after 400ms, retry left 1, error: Error: certificate has expired
    at TLSSocket.onConnectSecure (node:_tls_wrap:1659:34)
    at TLSSocket.emit (node:events:517:28)
    at TLSSocket._finishInit (node:_tls_wrap:1070:8)
    at ssl.onhandshakedone (node:_tls_wrap:856:12) {
  code: 'CERT_HAS_EXPIRED',
  name: 'ResponseError',
  data: undefined,
  path: '/macaca-mocha-parallel-tests',
  status: -1,
  headers: {},
  res: [Object]
}
/ [0/8] Installing selenium-standalone@6.x.x[npminstall:get] retry GET https://registry.npm.taobao.org/macaca-reporter after 400ms, retry left 1, error: Error: certificate has expired
    at TLSSocket.onConnectSecure (node:_tls_wrap:1659:34)
    at TLSSocket.emit (node:events:517:28)
    at TLSSocket._finishInit (node:_tls_wrap:1070:8)
    at ssl.onhandshakedone (node:_tls_wrap:856:12) {
  code: 'CERT_HAS_EXPIRED',
  name: 'ResponseError',
  data: undefined,
  path: '/macaca-reporter',
  status: -1,
  headers: {},
  res: [Object]
}
[npminstall:get] retry GET https://registry.npm.taobao.org/mocha after 400ms, retry left 1, error: Error: certificate has expired
    at TLSSocket.onConnectSecure (node:_tls_wrap:1659:34)
    at TLSSocket.emit (node:events:517:28)
    at TLSSocket._finishInit (node:_tls_wrap:1070:8)
    at ssl.onhandshakedone (node:_tls_wrap:856:12) {
  code: 'CERT_HAS_EXPIRED',
  name: 'ResponseError',
  data: undefined,
  path: '/mocha',
  status: -1,
  headers: {},
  res: [Object]
}
[npminstall:get] retry GET https://registry.npm.taobao.org/chai after 400ms, retry left 1, error: Error: certificate has expired
    at TLSSocket.onConnectSecure (node:_tls_wrap:1659:34)
    at TLSSocket.emit (node:events:517:28)
    at TLSSocket._finishInit (node:_tls_wrap:1070:8)
    at ssl.onhandshakedone (node:_tls_wrap:856:12) {
  code: 'CERT_HAS_EXPIRED',
  name: 'ResponseError',
  data: undefined,
  path: '/chai',
  status: -1,
  headers: {},
  res: [Object]
}
× Install fail! ResponseError: certificate has expired, GET https://registry.npm.taobao.org/macaca-mocha-parallel-tests -1 (connected: true, keepalive socket: false, agent status: {"createSocketCount":40,"create
SocketErrorCount":0,"closeSocketCount":32,"errorSocketCount":0,"timeoutSocketCount":0,"requestCount":0,"freeSockets":{},"sockets":{"registry.npm.taobao.org:443:::::::::::::::::::::":8},"requests":{}}, socketHandledRequests: 1, socketHandledResponses: 0)
headers: {}
node:internal/process/promises:288
            triggerUncaughtException(err, true /* fromPromise */);
            ^

Error: certificate has expired
    at TLSSocket.onConnectSecure (node:_tls_wrap:1659:34)
    at TLSSocket.emit (node:events:517:28)
    at TLSSocket._finishInit (node:_tls_wrap:1070:8)
    at ssl.onhandshakedone (node:_tls_wrap:856:12) {
  code: 'CERT_HAS_EXPIRED',
  name: 'ResponseError',
  data: undefined,
  path: '/macaca-mocha-parallel-tests',
  status: -1,
  headers: {},
  res: {
    status: -1,
    statusCode: -1,
    statusMessage: null,
    headers: {},
    size: 0,
    aborted: false,
    rt: 74,
    keepAliveSocket: false,
    data: undefined,
    requestUrls: [
      'https://registry.npm.taobao.org/macaca-mocha-parallel-tests',
      'https://registry.npm.taobao.org/macaca-mocha-parallel-tests',
      'https://registry.npm.taobao.org/macaca-mocha-parallel-tests',
      'https://registry.npm.taobao.org/macaca-mocha-parallel-tests',
      'https://registry.npm.taobao.org/macaca-mocha-parallel-tests'
    ],
    timing: null,
    remoteAddress: '111.62.25.111',
    remotePort: 443,
    socketHandledRequests: 1,
    socketHandledResponses: 0
  }
}

Node.js v18.19.0
PS E:\20231213\uirecorder\uirecorder_test>
PS E:\20231213\uirecorder\uirecorder_test> 
PS E:\20231213\uirecorder\uirecorder_test>

淘宝的源证书不行,就换个华为的:cnpm confg set registry https://mirrors.huaweicloud.com/repository/npm/,执行cnpm config get registry看看是否切换成功,下面是执行成功数据

PS E:\20231213\uirecorder\uirecorder_test>
PS E:\20231213\uirecorder\uirecorder_test>
PS E:\20231213\uirecorder\uirecorder_test> cnpm confg set registry https://mirrors.huaweicloud.com/repository/npm/
PS E:\20231213\uirecorder\uirecorder_test> 
PS E:\20231213\uirecorder\uirecorder_test>
PS E:\20231213\uirecorder\uirecorder_test>
PS E:\20231213\uirecorder\uirecorder_test>
PS E:\20231213\uirecorder\uirecorder_test> uirecorder init                                                        
    __  ______   ____                           __         
   / / / /  _/  / __ \___  _________  _________/ /__  _____
  / / / // /   / /_/ / _ \/ ___/ __ \/ ___/ __  / _ \/ ___/
 / /_/ // /   / _, _/  __/ /__/ /_/ / /  / /_/ /  __/ /
 \____/___/  /_/ |_|\___/\___/\____/_/   \__,_/\___/_/    v3.5.3

Official Site: http://uirecorder.com
------------------------------------------------------------------

? Path扩展属性配置,除id,name,class之外 data-id,data-name,type,data-type,role,data-role,data-value
? 属性值黑名单正则
? class值黑名单正则
? 断言前隐藏
? WebDriver域名或IP 127.0.0.1
? WebDriver端口号 4444
? 需要同时测试的浏览器列表 chrome, ie 11

config.json 文件保存成功

Start install project dependencies...
--------------------------------------------

√ Installed 8 packages
√ Linked 0 latest versions
√ Run 0 scripts
√ All packages installed (used 11ms, speed 0B/s, json 0(0B), tarball 0B)

Start install webdriver dependencies...
--------------------------------------------


> uirecorderTest@1.0.0 installdriver
> selenium-standalone install --drivers.firefox.baseURL=http://npm.taobao.org/mirrors/geckodriver --baseURL=http://npm.taobao.org/mirrors/selenium --drivers.chrome.baseURL=http://npm.taobao.org/mirrors/chromedriver --drivers.ie.baseURL=http://npm.taobao.org/mirrors/selenium


----------

selenium-standalone installation starting
----------


---

selenium install:
from: http://npm.taobao.org/mirrors/selenium/3.141/selenium-server-standalone-3.141.59.jar
to: E:\20231213\uirecorder\uirecorder_test\node_modules\selenium-standalone\.selenium\selenium-server\3.141.59-server.jar
---
chrome install:
from: http://npm.taobao.org/mirrors/chromedriver/113.0.5672.63/chromedriver_win32.zip
to: E:\20231213\uirecorder\uirecorder_test\node_modules\selenium-standalone\.selenium\chromedriver\latest-x64-chromedriver
---
ie install:
from: http://npm.taobao.org/mirrors/selenium/3.150/IEDriverServer_x64_3.150.1.zip
to: E:\20231213\uirecorder\uirecorder_test\node_modules\selenium-standalone\.selenium\iedriver\3.150.1-x64-IEDriverServer.exe
---
firefox install:
from: http://npm.taobao.org/mirrors/geckodriver/v0.34.0/geckodriver-v0.34.0-win64.zip
to: E:\20231213\uirecorder\uirecorder_test\node_modules\selenium-standalone\.selenium\geckodriver\latest-x64-geckodriver
---
edge install:
from: https://download.microsoft.com/download/F/8/A/F8AF50AB-3C3A-4BC4-8773-DC27B32988DD/MicrosoftWebDriver.exe
to: E:\20231213\uirecorder\uirecorder_test\node_modules\selenium-standalone\.selenium\edgedriver\17134-MicrosoftEdgeDriver.exe
---
chromiumedge install:
from: https://msedgedriver.azureedge.net/122.0.2365.92/edgedriver_win64.zip
to: E:\20231213\uirecorder\uirecorder_test\node_modules\selenium-standalone\.selenium\chromiumedgedriver\latest-x64-msedgedriver




-----

selenium-standalone installation finished
-----

PS E:\20231213\uirecorder\uirecorder_test> uirecorder start

 

最后提个醒,不要用cnpm install --insecure命令不校验证书,或者用cnpm confg set registry http://registry.npm.taobao.org/,因为放弃证书校验,或者使用http的源会有一定的安全风险。

posted @ 2024-03-20 10:16  封狼居胥_神都  阅读(328)  评论(2编辑  收藏  举报