做接口自动化时,经常要使用GET与POST请求,那么如何使用RF发送对应的请求呢?
一、安装RequestsLibrary
pip install robotframework-requests
安装以后,导入到对应的测试套件或测试用例中.
本次主要介绍通过RequestsLibrary来实现接口自动化。
二、创建会话
使用create session关键词去创建一个会话,即访问一个URL地址。
使用格式:
create session 会话名-可自定义 会话的地址即请求URL
示例:
create session apitest https://www.baidu.com/
#创建会话apitest,去访问百度地址
三、创建GET请求
格式:
创建会话
${响应结果变量} get request 请求会话名 /路径?参数名=值
示例:
create session apitest http://www.weather.com.cn
#创建会话
${response} get request apitest /data/cityinfo/101010100.html
#发送GET请求,101010100为城市编码,可使用参数化获取不同城市的天气信息
如果存在多个参数
create session apitest URL
#创建会话
${params} create dictionary 参数1=值1 参数2=值2
r
e
s
p
o
n
s
e
g
e
t
r
e
q
u
e
s
t
a
p
i
t
e
s
t
P
a
t
h
p
a
r
a
m
s
=
{response} get request apitest Path params=
responsegetrequestapitestPathparams={params}
#发送GET请求,params关键字不能丢失
四、创建POST请求
格式:
创建会话
创建请求体
创建请求头
创建Post请求:${响应结果变量} post request 请求会话名 /路径 请求体data= 请求头headers=
示例:
create session apitest URL
#创建会话
${data} create dictionary 参数1=值1 参数2=值2
#请求体,以字典形式传入
${heads} create dictionary Content-Type= Cookie= Authorization=
#请求头内容
r
e
s
p
o
n
s
e
p
o
s
t
r
e
q
u
e
s
t
a
p
i
t
e
s
t
P
a
t
h
d
a
t
a
=
{response} post request apitest Path data=
responsepostrequestapitestPathdata={params} headers=${heads} #发送post请求,data、headers关键字不能缺失,无请求头的话可以不传headers
当然脚本也可以做很多优化
eg:将请求URL、传参、请求头等数据进行参数化,以此来提升自动化脚本的健壮性与可读性。
也可以添加对响应结果进行断言设置、转存变量并应用与其它接口等,这块内容后续再具体罗列哦。
学习安排上
如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片进群即可自行领取。