You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Playwright API集成测试中实现文件上传?

使用Playwright调用文件上传API的实现方法

要在Playwright的API测试中上传/static-assets/import.xlsx文件,你需要借助FormData构造符合文件上传要求的请求体,具体实现如下:

1. 导入依赖模块

先引入Node.js的文件系统和路径模块,用于读取文件和拼接正确路径:

import { request } from '@playwright/test';
import fs from 'fs';
import path from 'path';

2. 构造请求数据并发起上传

通过FormData组织文件数据,再传入fetch方法的请求配置中:

const context = await request.newContext();
// 拼接文件绝对路径,__dirname表示当前脚本所在目录,根据实际目录层级调整../
const filePath = path.resolve(__dirname, '../static-assets/import.xlsx');
const formData = new FormData();

// 向表单添加文件,第一个参数是API要求的文件字段名(通常是*file*,需按实际接口调整)
formData.append('file', fs.createReadStream(filePath), 'import.xlsx');

await context.fetch(url, {
  method: 'POST',
  body: formData
});

关键注意点

  • 务必替换'file'为你的API实际规定的文件字段名称,比如部分接口会用'upload_file'这类字段。
  • 若项目使用ES模块,确保package.json中配置了"type": "module";如果是CommonJS环境,将import改为require即可。
  • Playwright会自动为multipart/form-data类型的请求设置正确的Content-Type,无需手动指定。

内容的提问来源于stack exchange,提问作者Liero

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 01:25:55