一、multipart/form-data 接口
1、上传图片
路径:/admin/image/upload(cjd党群后台上传评价)
Content-Type:multipart/form-data
body:参数名称file.参数类型:文件
A、postman
post 和 url
Headers [Authorization:XXXX] (key、value)
Body [file 选个文件](key、value)
B、jmeter
HTTP信息头管理器 添加Authorization
HTTP请求:协议、ip、端口、post、路径
勾选:Use multipart/form-data for POST
File Upload上传文件 、填写参数名称、MIME类型(比如:image/png)
C、python
headers['Content-Type']='multipart/form-data;boundary=----WebKitFormBoundarykhgDKtdBx1Ci8WBi'
url=url+'/admin/image/upload'
m=MultipartEncoder(
fields={
'file': ('10.jpg',open(r'C:\Users\Dell\Desktop\2.png','rb'), 'image/png/jpeg/jpg')
},
boundary='----WebKitFormBoundarykhgDKtdBx1Ci8WBi'
)
r = requests.post(url=url,data=m,headers=headers)
2、上传excel
A、postman
类似上面上传图片
B、jmeter
类似上面上传图片,只是File Upload MIME类型:application/vnd.ms-excel
如果有其他非文件参数,写在Parameters中
C、python
headers['Content-Type']='multipart/form-data;boundary=----WebKitFormBoundarykhgDKtdBx1Ci8WBi'
url=url+'/identity/add'
m=MultipartEncoder(
fields={'file':('data.xlsx',open(r'D:\auto_test\testcase\data_verify\data.xlsx','rb'), 'application/vnd.ms-excel'),#https://www.w3school.com.cn/media/media_mimeref.asp
'identityType':identityType
},
boundary='----WebKitFormBoundarykhgDKtdBx1Ci8WBi'
)
r = requests.post(url=url,data=m,headers=headers)
3、上传多个字段+图片:
见截图
二、下载excel 接口说明
1、python
headers={XXX}
url=url+'/admin/activity/%s/apply/download?status=%s'%(id,status)
r = requests.get(url=url,headers=headers,stream=True)
print(r.content)#获取返回结果二进制格式的
fw = open(r'C:\Users\Dell\Desktop\1.xlsx','wb')#指定绝对路径
fw.write(r.content)#将二进制格式内容写入文件
fw.close()
2、postman
请求方式+请求路径+请求头+请求参数
send 请求
Download按钮下载excel到本地
3、jmeter
HTTP信息头管理器 添加Authorization
HTTP请求:协议、ip、端口、get、路径
添加个BeanShell Sampler:下载到本地并且重命名
import java.io.*;
byte[] result = prev.getResponseData(); //这个是获取到请求返回的数据,prev是获取上个请求的返回
String file_name = "C:\\Users\\Dell\\Desktop\\123.xlsx"; //代表存放文件的位置和文件名, 相对路径的话会保存到bin 目录下,且保存的文件名的后缀与原图一致
File file = new File(file_name);
FileOutputStream out = new FileOutputStream(file);
out.write(result);
out.close();
一、
3、上传多个字段+图片:
A、postman实现:
B、jmeter实现:
3、python:
def web_individual_kyc(self,auditType='INDIVIDUAL',auditName='zs',
identityId=sfz_random()):
'''3、个人认证'''
url=self.url+datainfo.get_url_data('认证提交-个人',r'D:\auto_test\testcase\czt')
headers={}
headers['Authorization']=read(self)
headers['Content-Type']='multipart/form-data;boundary=----WebKitFormBoundarykhgDKtdBx1Ci8WBi'
m=MultipartEncoder(
fields={'posFile':('1.jpg',open(r'C:\Users\Dell\Desktop\0.jpg','rb'), 'image/png/jpeg/jpg'),
'negFile':('2.jpg',open(r'C:\Users\Dell\Desktop\0.jpg','rb'), 'image/png/jpeg/jpg'),
'auditType':auditType,
'auditName':auditName,
'identityId':identityId
},
boundary='----WebKitFormBoundarykhgDKtdBx1Ci8WBi'
)
r = requests.post(url=url,data=m,headers=headers)
print(r.text)