按官方指南配置WebdriverIO后,执行示例测试报错求助
错误信息(中文翻译)
RequestError: RequestError: getaddrinfo ENOTFOUND googlechromelabs.github.io
在 ClientRequest. (file:///C:/Sample%20project/wdio2/node_modules/got/dist/source/core/index.js:792:107)
在 Object.onceWrapper (node:events:629:26)
在 ClientRequest.emit (node:events:526:35)
在 ClientRequest.emit (node:domain:489:12)
在 TLSSocket.socketErrorListener (node:_http_client:501:9)
在 TLSSocket.emit (node:events:514:28)
在 TLSSocket.emit (node:domain:489:12)
在 emitErrorNT (node:internal/streams/destroy:151:8)
在 emitErrorCloseNT (node:internal/streams/destroy:116:3)
在 process.processTicksAndRejections (node:internal/process/task_queues:82:21)
在 GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:108:26)
错误原因
该错误是DNS解析失败,系统无法找到googlechromelabs.github.io的服务器地址,通常由网络环境限制、代理配置缺失或本地DNS缓存异常导致。
解决步骤
- 验证网络连通性:直接在浏览器中访问
googlechromelabs.github.io,确认网络能正常加载该地址 - 配置代理(受限网络环境):
- Windows终端执行:
set HTTPS_PROXY=http://你的代理地址:端口 - Mac/Linux终端执行:
export HTTPS_PROXY=http://你的代理地址:端口
配置后重新运行测试命令
- Windows终端执行:
- 刷新本地DNS缓存:
- Windows:
ipconfig /flushdns - Mac:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder - Linux:
sudo systemd-resolve --flush-caches(部分发行版可能需调整命令)
- Windows:
- 更换公共DNS:将本地DNS服务器设置为8.8.8.8(谷歌)或1.1.1.1(Cloudflare),再重启网络
- 检查WebdriverIO配置:确认配置文件中是否有硬编码指向该域名的设置,如有可临时替换为可访问的镜像地址(若存在)
内容的提问来源于stack exchange,提问作者Shankar R

