欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

RobotFramework 接口自动化

程序员文章站 2022-05-23 15:13:41
...

RobotFramework 接口自动化

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

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

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

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

其中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 接口自动化

步骤讲解:
把要请求的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']} 这个变量中的值
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

我们再看一个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"]}               
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
步骤讲解:
请求数据设置成变量${data}
${uri} 参数设置
构造请求头字典${dict}
创建一个query session
${response} 接收请求变量
${response.content} 转成json 对象
打印请求结果中的内容