0

我正在尝试自动化将 csv 文档上传到文件存储网站的操作。

我正在尝试将此测试作为后端 API 测试。

我将文件存储在我的目录中,我想将它作为参数与 json 端点一起发送。

我目前正在使用 python 函数并在机器人框架中进行主要测试。

谁能帮我吗?

def uploadFileContent(self,filename):
    path = self.makeurl("XXX.json")
    name = self.uploads_path+filename
    sys.stderr.write('\n> Filename: ' + name + '\n')    

    files = {filename: open(name, 'rb'), "name": "bulk_users_csv"}
    response = requests.post(path, files = files, cookies=self.cookies)
    print response.text
    self.status_code_should_be(201)
    return response
4

1 回答 1

0

查看请求库的文档,看起来您发送的请求格式错误。这将解释您在问题的评论中提到的“不被识别为正确的格式”错误。

发布多部分编码文件的文档显示了如下示例:

files = {'file': open('report.xls', 'rb')}
files = {'file': ('report.xls', open('report.xls', 'rb'), 'application/vnd.ms-excel', {'Expires': '0'})}
files = {'file': ('report.csv', 'some,data,to,send\nanother,row,to,send\n')}

您正在使用“文件名”键和“名称”键,似乎都不支持。

可以 发送任意键/值对,但如果这是您想要做的,您不能将打开的文件句柄作为数据发送。

于 2014-07-22T14:14:41.900 回答