Python进行web接口测试之通过接口上传文件

本文介绍了在使用Python进行web接口测试时如何处理文件上传操作,包括data和files的构造方法,以及在上传过程中遇到的坑点,如filename的处理、files字典的构建、open文件的模式选择和Content-Type请求头的处理。通过实例解析,帮助读者理解并解决文件上传测试中的常见问题。
摘要由CSDN通过智能技术生成

往常的接口测试都是get或者post请求进行接口测试,但遇到需要上传文件的操作。遇到了很多坑

坑1:data的构造

data构造

这个例子可以在开发者模式里看到字典的构造包含4个key,但是能看到filename的文件地址并不是真实地址,而是web构造的虚假地址,所以如果只想构造一个data=data的字典上传,显然是不行的

而且data的构造的filename虚假地址也要沿用这个虚假的地址格式,不能写成自己的真实地址,只要修改一下文件名

坑2:files的构造

我们可以在图一里发现:在payload里有各种属性,所以我们要构造的file里包含这些属性,然后利用files=file参数上传,file是一个字典,单文件上传的话就是一个单key的字典,如果是多文件上传的话就是多key的字典。

每个字典的key是web定义好的,如果只能单文件上传,只能填写单key值,web也必然只能看到一个key值

这个key值就是我们在payload里看到name=upload,可能很多人会第一眼以为是name为key值,实际并不是,而是upload是key值。

正确的构造是这样的files = {‘file’: (file_name, open(file_path, ‘rb’), ‘application/octet-stream’,)}

file必须用网页规定好的key值,在这个例子里也就是upload。vaule是一个元祖,元祖里面放参数。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值