1.Requets 多文件上传
1.1 在requests中发送文件的接口只有一种,那就是使用requests.post的files参数, 请求形式如下:
url = "http://leontom.com/post"
data = None
files = { ... }
r = requests.post(url, data, files=files)
1.2 官方推荐使用的字典参数格式如下:
{
"field1" : ("filename1", open("filePath1", "rb")),
"field2" : ("filename2", open("filePath2", "rb"), "image/jpeg"),
"field3" : ("filename3", open("filePath3", "rb"), "image/jpeg", {"refer" : "localhost"})
}
1.3 同时发送普通数据字段
有时候我们在发送文件的同时还需要发送普通的数据字段,此时普通数据字段直接存在data参数中即可,如下:
data = {"k1" : "v1"}
files = {
"field1" : open("1.png", "rb")
}
r = requests.post("http://httpbin.org/post", data, files=files)
2. HTTPRunner 多文件上传
在request中添加files字段,字段值采用requests的形式,但将"field1" : () 改成 "field1" : []
[{
"config": {}
},
{
"test": {
"request": {
"data":{"k1":"v1"},
"files":{
"field1" : ["filename1", open("filePath1", "rb")],
"field2" : ["filename2", open("filePath2", "rb"), "image/jpeg"],
"field3" : ["filename3", open("filePath3", "rb"), "image/jpeg", {"refer" : "localhost"}]
}
},
}
}
]