Playwright API测试报错:apiRequestContext.get: getaddrinfo ENOTFOUND <my-url>
解决Playwright API测试中
getaddrinfo ENOTFOUND报错的方案 这个报错本质是Node.js无法解析目标URL对应的IP地址,结合你说演示应用和其他API测试正常的情况,可以按以下步骤排查:
- 检查URL完整性:确保
<my-url>是带完整协议的有效地址,比如https://your-domain.com/health,不能只写域名(如your-domain.com),Playwright的request.get要求传入完整URL。 - 手动验证地址可用性:用浏览器或
curl命令直接访问目标URL,如果浏览器也打不开,说明是目标服务本身的问题(域名过期、服务器下线、防火墙拦截等);如果浏览器能访问但测试不行,继续下一步。 - 清除本地DNS缓存:
- Windows:执行命令
ipconfig /flushdns - Mac:执行命令
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder - Linux:执行命令
sudo systemd-resolve --flush-caches
- Windows:执行命令
- 禁用代理干扰:测试中显式关闭代理,排除系统代理配置的影响:
import { test } from "@playwright/test"; test("health check request", async ({ request }) => { await request.get(`<my-url>`, { proxy: { server: 'none' } }); }); - 更换DNS服务器:把本地DNS改成公共DNS(如8.8.8.8或1.1.1.1),再重新运行测试。
内容的提问来源于stack exchange,提问作者I.sh.
相关产品推荐
相关产品推荐

