python自动上传图片_python接口自动化(二十一) multipart/form-data上传图片
前言
在提交表单操作的时候,经常会遇到图片上传的操作,图片上传是一个单独的接口,本篇以禅道为例,介绍如何上传图片
上传接口
1.以禅道上提交bug为例,在选择图片时,点确定按钮,就是上传图片了。
2.用fiddler抓包,查看抓到的接口,以下这种接口就是multipart/form-data
先登录
1.因为上传图片是在登录之后操作的,这个需要依赖用户登录
登录需要先访问一次url,提取rand值,然后对rand和原密码进行md5加密。
上传图片
1.上传图片以下这种格式:
2.写成字典格式,key对应name="imgFile"中的"imgFile"
3.value里面是一个元组()
第一个参数是filename=后面对应的值,没有就写None
第二个是上面的这个值“2.png",或者是”文件open打开的二进制流。备注:尝试使用“2.png”,可以生成url,但访问url无图片
第三个是Content-Type对应的类型,如“image/png”
f={
"localUrl":(None,"33.png"),
"imgFile":("33.png",open("33.png","rb"),"image/png")
}
验证是否上传成功
1.获取上传后的地址,放到浏览器的地址栏请求下,看是不是刚才上传的图片
参考代码
注意:上传图片是files参数
# coding:utf-8
import requests
import re
import hashlib
pw="P@ssw0rd"
s=requests.Session()
headers={
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36"
}
vrand=0
while(True):
rs1=s.get("http://localhost/zentaopms/www/user-login.html",headers=headers)
rs1.encoding='utf-8'
#print(rs1.text)
rand=re.findall(r"'verifyRand' value='(.+?)'",rs1.text)
#print(rand[0])
if len(rand[0])==10:
vrand=rand[0]
break
print(vrand)
#方式一
hash=hashlib.md5()
hash.update(pw.encode('utf-8'))
f=hash.hexdigest()+vrand
#print(f)
#方式二
hash2=hashlib.md5(f.encode('utf-8'))
pwd=hash2.hexdigest()
print(pwd)
data={
"account":"fuhui",
"password":pwd,
"referer":"http://localhost/zentaopms/www/bug-browse-6.html",
"verifyRand":vrand
}
rs2=s.post("http://localhost/zentaopms/www/user-login.html",headers=headers,data=data)
rs2.encoding='utf-8'
#print(rs2.text)
rs3=s.get("http://localhost/zentaopms/www/bug-browse-6.html",headers=headers)
rs3.encoding='utf-8'
#print(rs3.text)
result=re.findall(r"\(.+?)\",rs3.text)
print(result)
if result[0]=="退出":
print("登录成功")
#上传图片
urlp="http://localhost/zentaopms/www/file-ajaxUpload-5f2b5bf056387.html?dir=image"
f={
"localUrl":(None,"33.png"),
"imgFile":("33.png",open("33.png","rb"),"image/png")
}
rp=s.post(urlp,files=f)
rp.encoding="utf-8"
try:
purl="http://localhost"+rp.json()["url"]
print("上传图片后,图片的url:{}".format(purl))
except Exception as msg:
print("返回值不是json格式的,错误为:{}".format(msg))
#print(rp.content)
#print(rp.text.encode("utf-8").decode("unicode_escape"))
python自动上传图片_python接口自动化(二十一) multipart/form-data上传图片相关推荐
- 用python画风车_python接口自动化()一)(实现一款简单的接口自动化框架)
python接口自动化一(设计一款自己的接口自动化框架) 一.起因: 前面学习过了python接口requests来进行接口测试,但是在框架选择上还是选择的unittest.当接口数量不怎么多时还好, ...
- 怎么用python自动注册_python selenium自动化(二)自动化注册流程
需求:使用python selenium来自动测试一个网站注册的流程. 假设这个网站的注册流程分为三步,需要提供比较多的信息: 在这个流程里面,需要用户填入信息.在下拉菜单中选择.选择单选的radio ...
- python unittest断言_python接口自动化(二十四)--unittest断言——中(详解)
简介 上一篇通过简单的案例给小伙伴们介绍了一下unittest断言,这篇我们将通过结合和围绕实际的工作来进行unittest的断言.这里以获取城市天气预报的接口为例,设计了 2 个用例,一个是查询北京 ...
- python自动化测试断言_python接口自动化(二十五)--unittest断言——下(详解)...
本文转载自: https://www.cnblogs.com/du-hong/p/10766314.html 简介 本篇还是回归到我们最初始的话题,想必大家都忘记了,没关系看这里:传送门 没错最初的 ...
- python 贴吧自动发帖_python接口自动化3-自动发帖(session)
# coding:utf-8 import requests # 先打开登录首页,获取部分cookie url = "https://passport.cnblogs.com/user/si ...
- python自动测试n_接口自动化:Jenkins 自动构建python+nose测试
参考: 通过Jenkins自动化构建python nose测试分两步: 1. 创建节点(节点就是执行自动化测试的机器): 2. 创建任务并绑定节点(用指定的机器来跑我们创建的任务,这里我们选择执行一段 ...
- python 基于unittest写接口自动化脚本
已过时.如感兴趣,请移步这篇文章 https://blog.csdn.net/tomoya_chen/article/details/121550706 python 基于unittest写接口自动化 ...
- python自动化接口测试中的cookies怎么实现_Python接口自动化之cookie、session应用
------·今天距2021年260天·------ 这是ITester软件测试小栈第112次推文 在上一篇Python接口自动化测试系列文章:Python接口自动化-requests模块之post请 ...
- python接口自动化关联参数_python接口自动化7-参数关联
前言 我们用自动化发帖之后,要想接着对这篇帖子操作,那就需要用参数关联了,发帖之后会有一个帖子的id,获取到这个id,继续操作传这个帖子id就可以了 (博客园的登录机制已经变了,不能用账号和密码登录了 ...
最新文章
- 九度OJ 1525 子串逆序打印 -- 2012年Google校园招聘笔试题目
- 如何查看手机连接wifi密码的记录
- Python基础教程:copy()和deepcopy()
- Transformer再下一城!low-level多个任务榜首被占领,北大华为等联合提出预训练模型IPT
- CAS单点登录 - 用户登录与校验
- LeetCode 978. 最长湍流子数组(DP)
- 技术架构演进|0到千万DAU,微淘如何走过?
- 令人迷惑的硬币翻转(洛谷P1146题题解,Java语言描述)
- 【转载】vim常用命令总结
- PDE抛物型方程数值解法总结与例题分析
- OpenGL 学习 显示列表
- Aurelia – 模块化,简单,可测试的 JS 框架
- IOS view的圆角和阴影并存
- filebeat日志采集的一次流程记录
- python抓取直播源 并更新_如何抓取和转换播放电视直播源m3u8?
- vs 2017官网下载、QT下载
- MP4BOx hint等常用命令
- 移动支付深入我们的生活,行业态势又如何?
- 夏敏捷 第39本著作《微信小程序游戏开发快速入门到实战》
- word转pdf组合的图片出现灰线,如何处理