昨天用开源项目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的源会有一定的安全风险。

| [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>的更多相关文章

  1. command failed: npm install --loglevel error --registry=https://registry.npm 用vue-cli 4.0 新建项目总是报错

    昨天新买的本本,今天布环境,一安装vue-cli发现都4.0+的版本了,没管太多,就开始新建个项目感受哈,一切运行顺利,输入 "vue create app" 的时候,一切貌似进展 ...

  2. npm run dev启动项目,electron提示throw new Error('Electron failed to install correctly, please delete node_modules/electron and try installing again')

    npm run dev 项目,提示 throw new Error('Electron failed to install correctly, please delete node_modules/ ...

  3. 分享在MVC3.0中使用jQuery DataTable 插件

    前不久在网络上看见一个很不错的jQuery的DataTable表格插件.后来发现在MVC中使用该插件的文章并不多.本文将介绍在MVC3.0如何使用该插件.在介绍该插件之前先简单介绍一下,推荐该插件的原 ...

  4. 在执行gem install redis时 : ERROR: Error installing redis: redis requires Ruby version >= 2.2.2

    在执行gem install redis时 提示: gem install redis ERROR: Error installing redis: redis requires Ruby versi ...

  5. 执行命令npm publish报错:403 Forbidden - PUT https://registry.npmjs.org/kunmomotest2 - You cannot publish over the previously published versions: 0.0.1.

    前言 执行命令npm publish报错:403 Forbidden - PUT https://registry.npmjs.org/kunmomotest2 - You cannot publis ...

  6. 分享一个仅0.7KB的jQuery文本框输入提示插件

    由于项目需要,找过几个jQuery文本框输入提示插件来用,但总是有不满意的地方,要么体积较大,要么使用不便,要么会出现把提示文字作为文本框的值的情况.于是我们自己的开发团队制作了这个最精简易用的输入提 ...

  7. 主攻ASP.NET MVC4.0之重生:Jquery Mobile 列表

    代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title ...

  8. 主攻ASP.NET MVC4.0之重生:Jquery Mobile 表单元素

    相关代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <tit ...

  9. 主攻ASP.NET MVC4.0之重生:Jquery Mobile 按钮+对话框使用

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  10. Globalize 1.0 发布,jQuery 的国际化插件

    分享 <关于我> 分享  [中文纪录片]互联网时代                 http://pan.baidu.com/s/1qWkJfcS 分享 <HTML开发MacOSAp ...

随机推荐

  1. Linux中如何查找特定的数据是否在目录或文件中

    一个很简单的方式就是使用grep命令,grep命令是一个强大有效可靠并且很流行的命令行工具,用于查找对应的数据包含文件或者目录中在Linux环境中. 为了便于学习,我们准备了以下文件,具体想要查找以实 ...

  2. 【调试】pstore原理和使用方法总结

    什么是pstore pstore最初是用于系统发生oops或panic时,自动保存内核log buffer中的日志.不过在当前内核版本中,其已经支持了更多的功能,如保存console日志.ftrace ...

  3. JS Leetcode 70. 爬楼梯 题解分析,斐波那契数列与动态规划

    本题来自LeetCode70. 爬楼梯,难度简单,属于一道动态规划的入门题,题目描述如下: 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬 ...

  4. NC17877 整数序列

    题目链接 题目 题目描述 给出一个长度为n的整数序列 \(a_1,a_2,...,a_n\) ,进行 \(m\) 次操作,操作分为两类. 操作1:给出 \(l,r,v\) ,将 \(a_l,a_{l+ ...

  5. NC14698 模拟战役

    题目链接 题目 题目描述 齐齐和司机在玩单机游戏<红色警戒IV>,现在他们的游戏地图被划分成一个n*m的方格地图.齐齐的基地在最上方的4行格内,司机的基地在最下方的4行格内.他们只有一种攻 ...

  6. Python枚举类型enum

    为什么需要枚举 枚举(Enum)是一种数据类型,也是一种特别的类,是绑定到唯一值的符号表示,可以使用它来创建用于变量和属性的常量集枚举类可以看成是一个下拉菜单,给出特定的选项且这些选项不可修改,更贴近 ...

  7. NVM Feature— Reservation(NVME 学习笔记五)

    8.8 Reservations 预订 NVMe的reservation预订功能,用于让两个或多个主机能够协调配合的访问共享namespace.使用这些功能的协议和方式超出了本规格说明书的范围.对这些 ...

  8. AsyncHttpClient And Download Speed Limit

    AsyncHttpClient Official repository and docs: https://github.com/AsyncHttpClient/async-http-client M ...

  9. 【Unity3D】UGUI之Dropdown

    1 Dropdown属性面板 ​ 在 Hierarchy 窗口右键,选择 UI 列表里的 Dwondown (下拉列表)控件,即可创建 Dwondown 控件,选中创建的 Dwondown 控件,按键 ...

  10. 【Unity3D】UGUI之Image和RawImage

    1 纹理(Texture) ​ Image 控件和 RawImage 控件都是承载渲染图片的控件,都需要指定一个纹理(Texture)图片.在 Assets 窗口选中一张图片,在 Inspector ...