python接口自动化-上传文件压缩包接口实战代码(超细)

本文详细介绍了如何使用Python的requests库进行接口自动化测试,特别是上传文件的场景,包括图片、zip压缩包和Excel文件。重点讲解了Content-Type、files参数的使用,以及如何处理不同类型的文件内容。
摘要由CSDN通过智能技术生成


前言

接口测试中,上传文件的测试场景非常常见。例如:上传头像(图片)、上传文件、上传视频等。

以一个上传图片的例子为大家讲解如何通过 python 测试上传文件接口。
①首先通过抓包分析上传文件接口的请求参数:

21

②下面是上传文件接口脚本。
把目标文件以open打开,然后存储到变量file。并且使用 files参数指明请求的参数名称、上传文件的类型、以及上传文件的路径。

22

注意:
content-type参数,如果我们通过form-data的方式上传文件,我们发送post请求的时候,headers这个参数中一定不能要包括这个值;

即不需要包括 {“Content-Type”:“multipart/form-data”} ,例如:

23

requests库会自动添加这个元素 {“Content-Type”:“multipart/form-data”} ;加了反而会报错,从而导致请求不成功。

在前端允许和支持上传的所有格式文件中,当选择不同格式文件时对接口发起请求时,Form Data会自动识别文件的Content-Type【根据传入的文件格式自动解析为headers中的Content-Type】以及Content-Disposition【该字段中包括接口的传参类型(例如下图的form-data),传入文件名(例如下图的filename)等】。

例如:

24

25

实现接口上传文件示例

requests请求接口上传文件代码示例:

import requests
from utils.LogUtil import my_log
from faker import Faker
log=my_log()
faker = Faker('zh_CN')
 
 
class marketCreate():
 
 
 def loginToken(self,mobile,code):
 '''
 登陆、注册接口
 :param mobile: 手机号
 :param code:  验证码
 :return:
 '''
 url='http://api.xxxxxx.net/v1/user/loginOrRegister' #登陆接口请求地址
 headers={
   'Content-Type': 'application/json'}      #请求头信息,json数据类型
 json={
   "code":code,"deviceId":"5de548ad0e268bc0","deviceName":"HWNXT","mobile":mobile,"mobilePrefix":"63","version":"39"}   #请求数据
 r=requests.post(url,headers=headers,json=json) #发送请求
 token=r.json()['data']['userVO']['token']    #获取token
 log.info('手机号'</
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值