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

 

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