RobotFramework实战篇-HTTP协议接口自动化实战

前置条件:

一个可供练习的项目: 部署教程

搭建好RF基础环境: RF环境搭建教程

本次练习使用的项目地址:http://8.129.162.225:8082/swagger-ui.html

操作步骤:

  • 使用pip命令安装RF发送接口请求所需的python插件
  
pip install -U requests  
pip install -U robotframework-requests
  • 打开后端swagger接口文档地址,挑选接口用来练习

picture.image

  • 用例设计

logincase:

picture.image

其中用例中用到的Get From Dictionary关键字来自于Collections,因此注意需要导入该Library之后方可使用。

可复制版本的用例如下,方便大家复制下去练习:

  
*** Settings ***  
Library RequestsLibrary  
Library Collections  
  
*** Test Cases ***  
login  
 Create Session api http://8.129.162.225:8082  
 ${params} Create Dictionary username=demo password=demo  
 ${res} Post Request api /account/login params=${params}  
 Should Be Equal As Strings ${res.status_code} 200 #判断返回结果是不是200  
 ${res} To Json ${res.content} #将相应结果转换为json格式  
 ${resdata} Get From Dictionary ${res} data  
 ${token} Get From Dictionary ${resdata} token  
 log ${res}  
 log ${token}  
 Set Suite Variable ${token}  
  
info  
 Create Session api http://8.129.162.225:8082  
 ${headers} Create Dictionary Authorization=${token}  
 ${res} Get Request api /account/info headers=${headers}  
 Should Be Equal As Strings ${res.status_code} 200 #判断返回结果是不是200  
 ${res} To Json ${res.content} #将相应结果转换为json格式  
 log ${res}  

以上2个case实现了 调用登录接口,并从登录接口中获取返回值中的token,传入info接口获取当前登录用户的相关信息。

用到的关键字说明:

  • Create Session 创建一个会话

  • Create Dictionary 创建一个字典

  • Post Request 发送post请求

  • Get Request 发送get请求

  • Set Suite Variable 设置套件级别的变量,作用域在套件内

  • Get From Dictionary 从字典中取值

  • To Json 将结果转换为json

  • Should Be Equal As Strings 用来对比2个字符串是否相等

    总结:

从以上的案例中,对RF框架进行http协议的接口请求发送有了一定的了解,掌握了上面用到的一些关键字之后,已经可以完成大部分接口的操作,接下来可以从以下几个方面去着手深入的学习:

1、对于目前响应结果中的token提取操作比较麻烦,思考如何简化操作

2、https协议以及其他的协议如何利用RF框架去完成

3、结合其他未使用过的关键字,以及如何自定义关键字,优化现有脚本结构

对以上内容有疑问的,可以关注小编公众号,在公众号后台聊天窗口直接留言,小编看到后为大家解惑。如果文章对您有帮助,也请帮忙点赞转发,让更多的同行可以看到。

往期推荐

RobotFramework实战篇-PC端web自动化demo及持续集成

RobotFramework基础篇-环境搭建

接口自动化测试练习网站搭建

0
0
0
0
评论
未登录
暂无评论