如何用Playwright直接发起API调用?请求无响应体也无报错
问题解决:Playwright GET请求无响应体输出
你的代码存在两个关键问题:
- import语句语法错误:
test和request之间缺少逗号,导致模块导入异常但未抛出明确报错 - 未主动获取响应体内容:直接打印
APIResponse对象只会输出对象结构,不会自动解析返回的实际数据
修正后的代码:
import { test, request, APIResponse } from '@playwright/test'; test('api test', async ({ request }) => { const response = await request.get('https://catfact.ninja/fact'); // 先验证请求是否成功 if (response.ok()) { // 解析为JSON格式并打印响应体 const factData = await response.json(); console.log(factData); // 若需要文本格式响应,可替换为以下代码 // const textData = await response.text(); // console.log(textData); } else { // 请求失败时打印状态码和错误信息 console.error(`请求失败,状态码:${response.status()}`, await response.text()); } });
关键说明:
- 必须调用
response.json()或response.text()方法,才能获取接口返回的实际响应体内容 response.ok()可快速判断请求是否成功(状态码处于200-299区间)- 请求失败时,通过
response.status()和response.text()能快速定位问题原因
内容的提问来源于stack exchange,提问作者Huckleberry Carignan
相关产品推荐
相关产品推荐

