RobotFramework 接口自动化

RobotFramework 接口自动化

接口自动化需要用到 Requests 和 RequestLibrary 两个第三方库:

Requests 官方下载地址:
https://pypi.python.org/pypi/requests#downloads
RequestLibrary 下载地址:
https://pypi.python.org/pypi/robotframework-requests/

安装方法:
解压文件到文件夹
打开 cmd 命令行
进入到解压的文件夹
执行  setup.py install

接口测试需要导入一下几个库:

RobotFramework 接口自动化_第1张图片

其中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 对象

我们看一下百度查询接口的例子:

RobotFramework 接口自动化_第2张图片

步骤讲解:
把要请求的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 对象
打印请求结果中的内容

你可能感兴趣的:(自动化相关,接口测试,robot-framework)