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 官方推荐使用的字典参数格式如下:

       提示:这种方式可以对文件重命名, 示例:filename1='hello.txt',  filePath1='D:\\test.txt',   则上传文件名会修改为hello.txt
        {
          "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"}]
                    }
                },
            }
        }
       ]

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章