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

如何使用Karate框架选择并以form-data方式传递PDF文件

Karate框架PDF文件上传实操要点

1. 传递PDF文件的正确语法

Karate中上传文件需使用multipart file指令,而非multipart field。具体写法如下:

And multipart file File = { read: 'test.pdf', filename: 'test.pdf', contentType: 'application/pdf' }

参数说明:

  • read:指定要读取的文件路径
  • filename:可选,上传时传给服务器的文件名,默认与本地文件名一致
  • contentType:必须设置为application/pdf,确保服务器正确识别文件类型

修改后的完整测试场景:

Scenario: File upload
Given path '/uploadfile'
And multipart field Id = 'pdffile'
And multipart file File = { read: 'test.pdf', filename: 'test.pdf', contentType: 'application/pdf' }
When method POST
Then status 200

2. 选择multipart field还是form field?

  • 普通文本参数(比如你的Id字段)用multipart field,上传二进制文件(如PDF)必须用multipart file。如果误用multipart field传递文件,服务器只会收到文件路径字符串,而非实际的PDF二进制内容,导致上传失败。

3. 文件存放位置

  • 默认规则:Karate会从当前.feature文件所在的目录查找文件。将test.pdf与测试feature文件放在同一目录下时,直接写文件名即可。
  • 若文件在子目录(如files/test.pdf),填写相对路径即可;绝对路径也可使用,但不推荐,会降低测试的可移植性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 10:24:55