Python接口自动化框架,python接口自动化测试
大蟒接口自动化19-请求-工具带处理多部分/格式-数据_qq60b756c73c5b0的技术博客_博客
请求-工具箱1。官方文档地址:请求-工具带官方文档
2.环境安装
点安装请求-工具带
多部分/表单数据传文件从请求_工具带导入多编码器
导入请求
m=多编码器(
fields={field0: value ,
字段1 :值,
field2: (filename ,open(file.py , rb ), text/plain)}
)
r=请求。帖子( http://http bin。org/post),
数据=m,
headers={ Content-Type :m . Content _ Type })多部分/格式数据表单提交(传非文件)从请求_工具带导入多编码器
导入请求
m=多编码器(
fields={field0: value ,
field1: value})
r=请求。帖子( http://http bin。org/post),
数据=m,
headers={ Content-Type :m . Content _ Type })多个文件参数重复1.参数重复的时候,就不用字典了,用目录类型
从请求_工具带导入多编码器
导入请求
m=多编码器(
字段=[
( source ,( f1.ext ,f1, application/x-example-mimetype ),
( source ,( f2.ext ,f2, application/x-example-mimetype ),
]
)
r=请求。帖子( http://http bin。org/post),
数据=m,
headers={ Content-Type :m . Content _ Type })参考代码:#编码:utf-8
导入请求
从请求_工具带导入多编码器
host=http://127.0.0.1:81 #禅道的服务器地址
极好的登录(s,user=admin ,PSW= e 10 ADC 3949 ba 59 abbe 56 e 057 f 20 f 883 e ):
u 登录禅道
登录网址=主机/禅道/用户-登录。 html
h={
用户代理: Mozilla/5.0(Windows NT 10.0;WOW64rv:44.0)壁虎/20100101火狐/44.0 ,
接受:文本/html,应用程序/xhtml xml,应用程序/xml .q=0.9,*/*;q=0.8 ,
接受-语言: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3 ,
Accept-Encoding: gzip,deflate ,
referer :主机/禅道/用户-登录。 html ,
# Cookie: #头部没登录前不用传饼干,因为这里甜饼干就是保持登录的
连接:保持活动,
content-Type : application/x-www-form-urlencoded ,
}
body={account :用户,
密码:psw,
keepLogin[]: on ,
referer: host /zentao/my/
}
尝试:
r=s.post(loginUrl,data=body,headers=h)
打印(r。内容)#打印结果看到位置= http://127。0 .0 .1/禅道/我的/说明登录成功了
如果r .内容中的"/zentao/my/":
打印(登录成功!)
返回真实的
否则:
打印(登录失败:%s % r.content)
返回错误的
作为消息的例外情况除外:
打印(登录失败:%s%str(msg))
返回错误的
定义上传_jpg:
u 上传图片
URL 1=host /Zen Tao/file-Ajax upload-5a 26 ACA 290 b 59。html?dir=image
m=多编码器(
字段={
localUrl :(无,‘1.png’),
imgFile: (1.png ,open(d:\\1.png , rb ), image/png )
})
尝试:
r1=s.post(url1,data=m,headers={ Content-Type :m . Content _ Type })
jpg_url=r1.json()[url]
返回jpg_url
作为消息的例外情况除外:
打印(上传失败:%s%str(msg))
返回""
def submit_bug(s,jpg_url,title=yoyoketang-这是一个带附件的内容):
# 提交bug,带上附件
URL 2=host /Zen Tao/bug-create-1-0-moduleID=0。 html
m=多编码器(
字段=[
(产品, 1 ),
(模块, 0 ),
(项目,),
( openedBuild[], trunk ),
(分配给,管理),
( type , codeerror ),
( os , all ),
(浏览器,全部),
(颜色,),
(标题,标题),# bug标题参数化
(严重性, 3 ),
(优先级, 0 ),
("步骤“,u p [步骤] /p \
第一页,第一步点/p \
第二页,第二步点/p \
第3页,点三步点/p \
p [结果] /p \
p img src=%s alt=//p \
p [期望] /p % jpg_url),#正文图片地址参数
("故事","0"),
(任务, 0 ),
( mailto[],),
(关键词,),
# 这里的四个参数就是上传文件附件了
( files[],( 1.png ,open(d:\\1.png , rb ), image/png ),#附件一
( labels[], tu1 ),
( files[],( 2.png ,open(d:\\2.png , rb ), image/png ),#附件一
( labels[], tu2 ),
( uid , 5a2955c884f98 ),
( case , 0 ),
( caseVersion , 0 ),
(结果, 0 ),
( testtask , 0 )
])
尝试:
r2=s.post(url2,data=m,headers={ Content-Type :m . Content _ Type })
打印r2.content
作为消息的例外情况除外:
Print(提交错误失败:%s%str(msg))
if __name__==__main__ :
S=requests.session() #保留会话
Login (s,user= admin ,PSW= e10adc 3949 ba 59 abbe 56 e 057 f 20 f 883 e )# log in
jpg=upload _ jpg #上传图像
#获取图片上传后使用的url地址,并将其传递给提交的bug的正文。
Submit _ bug (s,jpg,title= yoyoketang-这是带附件的内容)QQ交流群:730246532
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。