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

简介: 对RF框架进行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接口文档地址,挑选接口用来练习


微信图片_20220113221042.png


  • 用例设计

logincase:


微信图片_20220113221046.png


其中用例中用到的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、结合其他未使用过的关键字,以及如何自定义关键字,优化现有脚本结构


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

相关文章
|
2月前
|
缓存 应用服务中间件 网络安全
Nginx中配置HTTP2协议的方法
Nginx中配置HTTP2协议的方法
124 7
|
2月前
|
JSON Java Apache
非常实用的Http应用框架,杜绝Java Http 接口对接繁琐编程
UniHttp 是一个声明式的 HTTP 接口对接框架,帮助开发者快速对接第三方 HTTP 接口。通过 @HttpApi 注解定义接口,使用 @GetHttpInterface 和 @PostHttpInterface 等注解配置请求方法和参数。支持自定义代理逻辑、全局请求参数、错误处理和连接池配置,提高代码的内聚性和可读性。
162 3
|
12天前
|
域名解析 缓存 网络协议
Web基础与HTTP协议
通过掌握这些基础知识和技术,开发者可以更加高效地构建和优化Web应用,提供更好的用户体验和系统性能。
64 15
|
8天前
|
前端开发 网络协议 安全
【网络原理】——HTTP协议、fiddler抓包
HTTP超文本传输,HTML,fiddler抓包,URL,urlencode,HTTP首行方法,GET方法,POST方法
|
10天前
|
缓存 网络协议 算法
从零开始掌握HTTP协议
本文介绍HTTP协议的演变,从HTTP1.0到HTTP2.0。HTTP1.0为无状态连接,每次请求独立;HTTP1.1引入持久连接、管道化请求和更多状态码;HTTP2.0采用二进制分帧、多路复用、头部压缩及服务器主动推送,大幅提升性能与用户体验。了解这些区别有助于开发者优化应用和服务。
|
10天前
|
网络协议 安全 网络安全
探索网络模型与协议:从OSI到HTTPs的原理解析
OSI七层网络模型和TCP/IP四层模型是理解和设计计算机网络的框架。OSI模型包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP模型则简化为链路层、网络层、传输层和 HTTPS协议基于HTTP并通过TLS/SSL加密数据,确保安全传输。其连接过程涉及TCP三次握手、SSL证书验证、对称密钥交换等步骤,以保障通信的安全性和完整性。数字信封技术使用非对称加密和数字证书确保数据的机密性和身份认证。 浏览器通过Https访问网站的过程包括输入网址、DNS解析、建立TCP连接、发送HTTPS请求、接收响应、验证证书和解析网页内容等步骤,确保用户与服务器之间的安全通信。
56 1
|
2月前
|
开发者
HTTP 协议请求方法的发展历程
【10月更文挑战第21天】
|
2月前
|
Dubbo 安全 应用服务中间件
Apache Dubbo 正式发布 HTTP/3 版本 RPC 协议,弱网效率提升 6 倍
在 Apache Dubbo 3.3.0 版本之后,官方推出了全新升级的 Triple X 协议,全面支持 HTTP/1、HTTP/2 和 HTTP/3 协议。本文将围绕 Triple 协议对 HTTP/3 的支持进行详细阐述,包括其设计目标、实际应用案例、性能测试结果以及源码架构分析等内容。
|
2月前
|
安全 搜索推荐 网络安全
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
70 11
|
2月前
|
缓存 安全 网络协议
HTTPS协议的历史发展
HTTPS协议的历史发展
48 8