我正在使用空手道框架为我的应用程序编写BDD(行为驱动的开发脚本)。我想用content-type = multipart / formdata发出POST请求。在发出POST请求时,数据不会传递到后端应用程序。
创建一个包含数据的JSON文件,然后在.feature文件中调用JSON文件。
file.json
{
"files[0].name": "file_1",
"files[0].type": "Audio",
"files[0].file": "classpath/folder/file.mp3",
"files[1].name": "file_2",
"files[1].type": "Video",
"files[1].file": "classpath/folder/file.3gp",
"location": "D:/files/"
}
Feature: POST call
Background:
# * url baseURI
Scenario: Passing data in POST call
Given url 'http://localhost:8080/request'
And header Content-Type = 'multipart/formdata'
And request read('classpath:folder/file.json')
when method post
Then status 200
期望要保存的数据,但是看不到数据传递到后端应用程序。这是传递multipart / formdata的正确方法吗?
答案 0 :(得分:0)
不。请在此处参考文档:https://github.com/intuit/karate#multipart-file
我在下面做了很多假设,请参考文档和演示示例。
Given url 'http://localhost:8080/request'
And multipart file file_1 = { read: 'classpath:folder/file.mp3', filename: 'file.mp3', contentType: 'audio/mpeg' }
And multipart file file_2 = { read: 'classpath:folder/file.3gp', filename: 'file.3gp', contentType: 'video/mpeg' }
And multipart field location = 'D:/files/'
When method post
Then status 200