RobotFramework 接口自动化
接口自动化需要用到 Requests 和 RequestLibrary 两个第三方库:
Requests 官方下载地址:
https://pypi.python.org/pypi/requests#downloads
RequestLibrary 下载地址:
https://pypi.python.org/pypi/robotframework-requests/
安装方法:
解压文件到文件夹
打开 cmd 命令行
进入到解压的文件夹
执行 setup.py install
接口测试需要导入一下几个库:
其中Collections 和 Json 是自带的库
TestLibrary 是自己编写的测试库
DatabaseLibrary 是验证数据库是需要用到的
requestsLibrary 常用的关键字有以下几个:
Create Session: 创建一个 session, 连接某个服务器
Create Ntlm Session: 也是创建一个 session , 只不过加上了域名、用户名、密码用于 NTLM 认证
Get Request: 通过get 方式发起请求
Post Request: 通过 Post 方式发起请求
Head Request: 发送一个 Head 请求
To Json : 将文本转换成json 对象
我们看一下百度查询接口的例子:
步骤讲解:
把要请求的URL设置成变量${url}
用${data}获取request.get ${url} 的结果
打印${data.cookies} #主要看一下有哪些cookie 非必须
判断一下${data.header['Content-Encoding']}的值是否是 gzip
打印${data.header}
判断响应码${data.stats_code}是否是200
正则匹配响应内容,结果存放到 ${response}
${response[0]}转成json 对象,存放到${res}
把${res}的内容,获取到${final}变量中
输出${final[5][0]['st']['q']} 这个变量中的值
我们再看一个POST的例子:
${data} set Variable { "version": "1.0"}
${uri} set variable /xxxx/xxxx/query
${dict} create Dictionary Host=xxx Content-Type=application/json
create session query http://api.xxxx.com ${dict}
${response} post request query ${uri} ${data} headers=${dict}
${res} To Json ${response.content}
log ${res["result_msg"]}
步骤讲解:
请求数据设置成变量${data}
${uri} 参数设置
构造请求头字典${dict}
创建一个query session
${response} 接收请求变量
${response.content} 转成json 对象
打印请求结果中的内容