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

从Cypress迁移至Playwright:上传文件重命名功能实现问询

Playwright实现文件上传时重命名

完全可行。Playwright支持通过构造File对象的方式,在上传时自定义文件名、修改时间等属性,满足被测系统对文件唯一性的要求,实现逻辑和Cypress类似。

具体实现步骤:

  1. 读取本地目标文件的二进制内容
  2. 使用浏览器原生的File构造函数,创建带有自定义文件名的文件对象
  3. 将该File对象传入setInputFiles完成上传

示例代码:

const fs = require('fs').promises;
const path = require('path');

// 读取本地文件内容
const fileBuffer = await fs.readFile(path.resolve(__dirname, '../image.png'));
// 构造自定义文件名的File对象,拼接时间戳保证唯一性
const customFile = new File([fileBuffer], `unique-image-${Date.now()}.png`, {
  type: 'image/png',
  lastModified: Date.now()
});
// 执行上传操作
await page.locator('input[type=file]').setInputFiles(customFile);

关键说明

  • File构造函数的第二个参数就是自定义的文件名,这里通过时间戳生成唯一名称,和你在Cypress中用mediaFileName的逻辑匹配
  • 第三个参数可指定文件MIME类型和lastModified属性,进一步强化文件唯一性
  • 若需批量上传多个重命名文件,直接传入File对象数组即可,比如setInputFiles([customFile1, customFile2])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 00:07:34