Playwright 1.45.0使用录制HAR文件POST multipart FormData时的问题
Playwright HAR回放时multipart/form-data请求匹配失败问题确认
我们在测试应用时,使用routeFromHAR(har, {update: true})录制包含GET和POST的REST请求流量,用于后续通过{update: false}参数离线使用模拟数据运行测试。录制过程无异常,生成的HAR文件中也正确包含了解码后的multipart/form-data格式POST数据,但回放测试时,Playwright无法匹配HAR中的对应请求条目,导致测试失败。
我们推测问题原因是:浏览器每次发送multipart/form-data请求时都会自动生成新的boundary分隔符,而HAR文件中录制的是固定的boundary值,Playwright在匹配请求时对postData进行了严格的字符串匹配,导致因boundary不一致无法完成匹配。我们通过修改请求使用HAR中的固定boundary后,测试可成功运行,验证了这一推测。
最小复现步骤
- 修改Playwright示例测试文件,添加触发multipart/form-data类型POST请求的逻辑
- 准备测试用的
sample.txt文件和初始test.har文件 - 部署一个本地页面,用于发起上述POST请求
- 先执行测试完成HAR录制,再切换到
{update: false}模式回放测试,未手动固定boundary的情况下测试必然失败
现向Playwright团队确认该问题是否存在,是否有官方解决方案或优化方向,避免需要手动修改请求boundary来完成HAR匹配。
内容的提问来源于stack exchange,提问作者andysd
相关产品推荐
相关产品推荐

