Requests/HttpRunner 多文件上传

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"}]
                    }
                },
            }
        }
       ]

 

你可能感兴趣的:(随笔)