三、HTTP 接口自动化测试

news2025/1/19 12:57:44

HTTP 接口自动化测试

  • 3.1 HttpLibrary.HTTP 库的使用
    • 安装
    • 导入
    • 3.1.1 Create Http Context
  • 3.2 RequestsLibrary 库的使用
    • 安装
    • 导入
    • 3.2.1 Create Session 和 Get Request
      • 1. Create Session
      • 2. Get Request
    • 3.2.2 Post Request
    • 3.2.3 RequestsLibrary 库的其他关键字
  • 3.3 RESTinstance 库的使用
    • 安装
    • 导入
    • RESTinstance 库提供的主要常用关键字

HTTP 接口自动化测试是常见的一种自动化测试需求和需要
在 RobotFramework 中,RequestsLibrary、HttpLibrary.HTTP、REST 等库都可以用来做 HTTP 接口方面的自动化测试

3.1 HttpLibrary.HTTP 库的使用

安装

pip install --upgrade robotframework-httplibrary

请添加图片描述

导入

请添加图片描述

  • 有可能会遇到导入失败的问题

3.1.1 Create Http Context

要想使用 HttpLibrary,Create Http Context 关键字是必不可少的,其作用相当于创建了一个 HTTP 调用的环境

Create Http Context 关键字需要接收两个参数:host 和 scheme

  • host 参数等同于 HTTP 协议中 Header(头部)中的 Host(指定请求的服务器的域名和端口号)
  • scheme参数如果没有传入,就默认为 http,也可以传入 https(调用时使用 HTTPS 协议)

因与 Python 3 不兼容,出现如下问题,此库笔记停止记录
请添加图片描述

3.2 RequestsLibrary 库的使用

安装

pip install -U requests
pip install -U robotframework-requests

请添加图片描述

导入

请添加图片描述

3.2.1 Create Session 和 Get Request

1. Create Session

Create Session 关键字用来向 HTTP 服务端创建一个 Session,接收 [ alias | url |headers={} | cookies=None | auth=None | timeout=None | proxies=None |verify=False ] 八个参数
请添加图片描述

2. Get Request

Get Request 关键字用来在创建好 Session 的基础上向服务端发送一个 get 请求,接收 [ alias| uri | headers=None | params={} | allow_redirects=None ] 五个参数
请添加图片描述
请添加图片描述

  • Log 中有一条警告:RequestsLibrary.Get Request 已被弃用,请使用 GET On Session 代替
    • 已尝试替换,使用规则和效果一样

请添加图片描述

3.2.2 Post Request

Post Request 关键字用来在创建好 Session 的基础上向服务端发送一个 post 请求,接收 [ alias| uri | data={} | headers=None | files={} | allow_redirects=None] 六个参数

  • 其中 data、headers、files 这几个参数,如果需要传入,那么都应该以字典的形式传入

请添加图片描述

3.2.3 RequestsLibrary 库的其他关键字

请添加图片描述

3.3 RESTinstance 库的使用

RESTinstance 库主要提供了用于 Restful 服务的 JSON 请求报文方式的关键字,可以通过在 cmd命令行中输入“pip install --upgrade RESTinstance”进行在线安装。安装完成后,通过如图3-3-1所示的方式导入RESTLibrary。

安装

pip install --upgrade RESTinstance

请添加图片描述

导入

请添加图片描述

RESTinstance 库提供的主要常用关键字

请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/93229.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RK3568平台开发系列讲解(摄像头篇)使用 Camera 的步骤

🚀返回专栏总目录 文章目录 一、使用 Camera 的步骤二、使用 SurfaceView 预览显示 Camera 数据沉淀、分享、成长,让自己和他人都能有所收获!😄 📢 本篇将介绍如何使用Camera。 一、使用 Camera 的步骤 说下 Camera 的操作步骤,后面给出实例,请结合代码理解分析: 获…

[附源码]Python计算机毕业设计高校体侧管理系统Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等…

Jetpack Compose中的Modifier

Modifier的基本使用 Modifier修饰符是Jetpack Compose中用来修饰组件的,提供常用的属性,写布局时几乎所有Composable组件的大部分属性都可以用Modifier 来修饰。官方在开发Compose UI时,最初尝试过将所有属性全部以函数参数的形式提供&#…

[附源码]Node.js计算机毕业设计高校学生宿舍管理信息系统Express

项目运行 环境配置: Node.js最新版 Vscode Mysql5.7 HBuilderXNavicat11Vue。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分离等等。 环境需要 1.运行环境:最好是Nodejs最新版,我…

10.Django大型电商项目之商品详情页——如何从数据库中获取图片地址显示图片在前端中

1.商品详情页 1.1 先搭建好基础框架 首先&#xff0c;我们应该修改跳转的点击路由在index.html中 <div class"goods-model"><div class"goods-content">{% for goods in goods_page %}<div class"good"><a href"/g…

计算机毕业设计django基于python爬虫系统

项目介绍 随着计算机多媒体技术的发展和网络的普及。采用当前流行的B/S模式以及3层架构的设计思想通过Python技术来开发此系统的目的是建立一个配合网络环境的爬虫系统的平台,这样可以有效地解决数据获取系统混乱的局面。 本文首先介绍了爬虫系统的发展背景与发展现状,然后遵…

谷歌浏览器是最容易受到攻击的

©网络研究院 不幸的是&#xff0c;那些看起来越多&#xff0c;他们发现的越多&#xff0c;这个规则总是适用的&#xff0c;除了来自体育场的无节制的欢呼声。 Windows 比 Linux 更容易受到攻击&#xff0c;因为 Chrome 比 Edge 更容易受到攻击。这也是因为它们是最受欢迎…

【大数据技术Hadoop+Spark】MapReduce之单词计数和倒排索引实战(附源码和数据集 超详细)

源码和数据集请点赞关注收藏后评论区留言私信~~~ 一、统计单词出现次数 单词计数是最简单也是最能体现MapReduce思想的程序之一&#xff0c;可以称为MapReduce版“Hello World。其主要功能是统计一系列文本文件中每个单词出现的次数 程序解析 首先MapReduce将文件拆分成spli…

你的代码会说话吗?(下)

篇首语 代码不讲真话的直接后果是所有人被误导了&#xff0c;然后做了一件错误的事情&#xff0c;不自知地将错就错&#xff0c;让错误越陷越深&#xff0c;最后浪费宝贵的时间。可不讲真话&#xff0c;编写代码的人又不是故意的&#xff0c;也万万不可上纲上线&#xff0c;袁…

力扣(LeetCode)1785. 构成特定和需要添加的最少元素(C++)

贪心 统计所有元素的加和 sumsumsum &#xff0c;计算 sumsumsum 到 goalgoalgoal 的距离&#xff0c;尽可能用 limitlimitlimit 的步长去走这段距离(贪心)&#xff0c;最后一步可能是 111 ~ limitlimitlimit 。 CCC 的除法是向 000 取整&#xff0c;为了统计最后一步&#xf…

深入理解网络编程精华

hi 大家好&#xff0c;我是大师兄&#xff0c;让我们一起来学习一下网络编程&#xff0c;对网络编程的核心知识进行梳理&#xff0c;希望大家早日掌握这些核心知识&#xff0c;打造自己坚实的基础。详细点击查看-> 极客星球。以上是深入理解网络编程部分ppt。感兴趣的同学可…

phoenix使用注意事项

使用phoenix的版本是5.0.0-HBase-2.0&#xff0c;DBeaver的版本是21.3(7.1.5版本也试过可以) 用DBeaver连接出现的问题处理 1.需要把已安装hbase服务器/opt/hbase/lib目录下的jar包全部下载来 1.1 常规配置 1.2 DBeaver编辑驱动把原来的库给删除掉&#xff0c;加入下载下来的…

MacOS Monterey 12.6.2 (21G320) OC 0.8.7 / Cl 5150 / PE 三分区原版黑苹果镜像

1‌2月14日苹果推送了 Ventura 13.1更新&#xff0c;解决了从图形驱动程序到 WebKit 到内核的一些问题&#xff0c;以及 Safari、天气、照片等方面的 Bug。对于无法更新到 Ventura 的用户可以安装 macOS Monterey 12.6.2 或 macOS Big Sur 11.7.2&#xff0c;以获得针对某些漏洞…

【AI with ML】第 7 章 :用于自然语言处理的递归神经网络

&#x1f50e;大家好&#xff0c;我是Sonhhxg_柒&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流&#x1f50e; &#x1f4dd;个人主页&#xff0d;Sonhhxg_柒的博客_CSDN博客 &#x1f4c3; &#x1f381;欢迎各位→点赞…

Java+MySQL共享单车管理系统的设计与实现

随着时代的发展&#xff0c;我国的国民经济一直在稳步的提升&#xff0c;共享单车的是用来一直在不断的攀升&#xff0c;为了能够更加方便快捷的管理共享单车&#xff0c;需要开发一套利用计算机进行管理的JSP共享单车管理系统。 本项目利用软件工程原理&#xff0c;采用面向对…

先聊聊「内存分配」,再聊聊Go的「逃逸分析」。

前言 大家好&#xff0c;我是阳哥。 今天和大家聊聊Go语言的「内存分配」和「逃逸分析」。 这期内容不仅有文档&#xff0c;而且有视频&#xff1a; # Go语言的内存分配和逃逸分析-理论篇 # Go语言的内存分配和逃逸分析-实践总结篇 要搞清楚GO的逃逸分析一定要先搞清楚内…

数据处理指令(二)—— 数据运算指令(加减乘)+ 逻辑运算指令(与或)+ 位清零(BIC)

无论是数据运算还是逻辑运算&#xff0c;需要满足如下格式&#xff1a; <操作码> <目标寄存器> <第一操作寄存器> <第二操作数> 操作码&#xff1a; 表示执行哪种操作&#xff08;加减乘&#xff09;目标寄存器&#xff1a; 用…

搭建zabbix并分离

目录 &#x1f951;理论部分 &#x1f951;实验部分 &#x1f336;️安装zabbix &#x1f336;️部署zabbix &#x1f336;️配置zabbix &#x1f955;1. 修改语言 &#x1f955;2. 监控linux端 &#x1f336;️分离zabbix 理论部分 1. 监控知识概述 &#xff08;1&#xff0…

消息队列中间件

如何保证消息的顺序性 我举个例子&#xff0c;我们以前做过一个 mysql binlog 同步的系统&#xff0c;压力还是非常大的&#xff0c;日同步数据要达到上亿&#xff0c;就是说数据从一个 mysql 库原封不动地同步到另一个 mysql 库里面去&#xff08;mysql -> mysql&#xff…

【AI with ML】第 8 章 :使用 TensorFlow 创建文本

&#x1f50e;大家好&#xff0c;我是Sonhhxg_柒&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流&#x1f50e; &#x1f4dd;个人主页&#xff0d;Sonhhxg_柒的博客_CSDN博客 &#x1f4c3; &#x1f381;欢迎各位→点赞…