robotframework如何做接口测试?

robotframework(后续简称为robot)是一款自动化测试框架,可能做各种类型的自动化测试。

本文介绍通过robotframework来做接口测试。

在robot当中,python语言的接口测试库名称为RequestsLibrary

安装语法如下:

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

在robot编辑工具eclipse当中,创建test suites,并在Settings区域当中引入:

*** Settings ***
Library    RequestsLibrary

如下图所示,RequestsLibrary当中,有22个关键字。

其中,get、post、head、options、patch、put、delete这7个关键字不建议用,将被废弃。

用get request、post request、head request、options request、patch request、put request、delete request这7个关键字来代替他们。

所以一共有15个关键字可用。

分为三个类别:

第一类:与服务端的会话

包含 Create Session创建会话相关的5个关键字、

update session更新会话关键字、Delete all session删除会话

第二类:请求类型

get requests等发送请求的关键字。

第三类:响应结果转json:To json关键字

将json字符串转换成python对象。

关键字1:Create Session

关键字功能:创建与服务端的会话

参数1:alias 会话别名。在此会话之上的http请求都需要带上此别名。

参数2:url 服务器base url。此处并不是指具体某个接口的地址。而服务器根地址。比如域名或者ip地址+端口。

参数3:headers 请求头。与服务器会话过程中,通过的请求头。

参数类型为字典 。

参数4:verify SSL证书将被验证。默认为False,表示不验证。

参数5:auth 参数类型为列表。用户名和密码的列表形式。

用来作http基本认证。

其它参数略过,可参考网上其它资料。

关键字2:Post Reqeust

关键字功能:发送post请求并得到响应结果。

此处的响应结果为python requests库当中的Response对象。

参数1:alias 会话别名。来自Create Session关键字中的别名。

表示在某个会话上进行请求。

参数2:uri 接口地址。但是不包含服务器的base url。

参数3:data 请求数据。参数类型为字典 。

参数4:json 请求数据。请求数据类型为application/json。

参数类型为字典 。

参数5:params 查询参数。直接组合在接口地址后面,并不放在请求体当中。

参数6:headers 请求头。

其它的get请求/put请求等请参看网上其它资料。

步骤如下:

1)创建与服务端的会话(create session类的关键字)

2)在1)的基础上,发送请求。

3)获取响应结果,可后续对响应结果进行解析和断言(robot标准库中的断言关键字使用)。

演示案例:

◆ 注册链接:

http://test.lemonban.com/ningmengban/app/register/register.html

◆ 注册接口:

http://test.lemonban.com/ningmengban/mvc/user/register.json

◆ 请求类型:POST

◆ 请求数据格式:

application/x-www-form-urlencoded

◆ 请求数据:

发送post请求示例(注意:post请求必须在请求头当中指明数据格式)

 执行后的结果为:

脚本源文件内容如下:

 最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取 【100%免费无套路】

å¨è¿éæå¥å¾çæè¿°

 

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

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

相关文章

Window下部署使用Stable Diffusion AI开源项目绘图

Window下部署使用Stable Diffusion AI开源项目绘图 前言前提条件相关介绍Stable Diffusion AI绘图下载项目环境要求环境下载运行项目打开网址,即可体验文字生成图像(txt2img)庐山瀑布 参考 本文里面的风景图,均由Stable Diffusion…

Sui生态项目|集隐私通信、移动钱包、链上朋友圈和红包功能一体的社交应用ComingChat

ComingChat是在Sui网络上构建的去中心化社交平台,功能众多,其中加密聊天功能为用户提供了安全的沟通方式。该功能利用了Signal加密协议,这是一种在Signal、WhatsApp和Skype等应用中广受欢迎的开源软件协议。 ComingChat在Sui上提供了全面的…

c++——重写(覆盖),实际上对应的就是虚函数

重写是指派生类中存在重新定义的函数。其函数名,参数列表,返回值类型,所有都必须同基类中被重写的函数一致。只有函数体不同(花括号内),派生类调用时会调用派生类的重写函数,不会调用被重写函数…

LeetCode //C - 57. Insert Interval

57. Insert Interval You are given an array of non-overlapping intervals intervals where intervals[i] [ s t a r t i , e n d i start_i, end_i starti​,endi​] represent the start and the end of the i t h i^{th} ith interval and intervals is sorted in asce…

qt显示图片并转换成灰度图及伪彩图

写了个程序,可在途图片,并切换成灰度图及伪彩图显示,主要代码如下: #include "mainwindow.h" #include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainW…

如何使用营销活动,提升小程序用户的参与度

在当今数字化时代,小程序已成为企业私域营销的重要一环。然而,仅仅拥有小程序还不足以吸引用户的兴趣和参与。营销活动作为推动用户参与的有效手段,可以在激烈的市场竞争中脱颖而出。本文将深入探讨如何使用营销活动,提升小程序用…

【leetcode 力扣刷题】链表基础知识 基础操作

链表基础知识 基础操作 链表基础操作链表基础知识插入节点删除节点查找节点 707. 设计链表实现:单向链表:实现:双向链表 链表基础操作 链表基础知识 在数据结构的学习过程中,我们知道线性表【一种数据组织、在内存中存储的形式】…

ssh框架原理及流程

1.hibernate工作原理: 读取并解析配置文件读取并解析映射信息,创建sessionFactory打开session创建事务transaction持久化操作提交事务关闭session关闭sessionFactory 为什么使用: 对JDBC访问数据库的代码做了封装,大大简化了数据…

Java虚拟机(JVM):引用计数算法

一、引言 我们学习了Java内存运行时区域的各个部分,其中程序计数器、虚拟机栈、本地方法栈3个区域随线程而生,随线程而灭。栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈操作。每一个栈帧中分配多少内存基本上是在类结构确定下来就已知的…

模板方法模式(十六)

相信自己,请一定要相信自己 上一章简单介绍了代理模式(十五), 如果没有看过, 请观看上一章 一. 模板模式 引用 菜鸟教程里面的 模板模式介绍: https://www.runoob.com/design-pattern/template-pattern.html 在模板模式(Template Pattern)…

学习微信小程序时间延迟setTimeout和setInterval的使用方法

学习微信小程序时间延迟setTimeout和setInterval的使用方法 setTimeout()setInterval() setTimeout() setTimeout在使用的时候可以实现代码块延迟执行的效果,并且可以设置延迟执行的具体时间。请见如下代码: setTimeout(function() {//要实现延迟执行效…

基于 OSSP 的 OA 系统项目管理的实施

1、OSSP 项目实施方法 OA 系统项目实施,可以通过 OSSP 应用成熟的软件技术和平台来实现本项目的 各项需求。在项目交付阶段制造执行系统被实施,而一般当客户签订了合同时,这 个阶段就开始了。本阶段的目标是完成合同的各项指标&#xff0c…

VSCode好用的插件

文章目录 前言1.Snippet Creator & easy snippet(自定义代码)2.Indent Rainbow(代码缩进)3.Chinese (Simplified) Language Pack(中文包)4.Path Intellisense(路径提示)5.Beauti…

python脚本——批量将word文档转换成pdf文件

语言:python 3 用法:点击运行后,弹出窗口选择word文档所在文件夹,程序运行后对该文件夹下所有的word文件全部转换成pdf文件,生成的pdf文件名字与原wrod文件相同。 如运行中报错,需要自行根据报错内容按照…

项目实战笔记5:软技能

向上沟通误区 误区1:所以问题自己扛 这是技术同学容易犯的问题。尤其到了快上线了发现问题隐患,还抱有侥幸心理。 要主动大胆的发起沟通,不管是邮寄发项目风险告警,还是当面沟通。我们必须从大局出发,让这些项目的关…

SpringBoo t+ Vue 微人事 (十一)

职位修改操作 在对话框里面做编辑的操作 添加对话框 <el-dialogtitle"修改职位":visible.sync"dialogVisible"width"30%"><div><el-tag>职位名称</el-tag><el-input size"small" class"updatePosIn…

在IDEA中创建properties配置文件

第一步&#xff1a;在 src路径下找到resources文件 第二步&#xff1a;右击选择新建Resource Bundle配置文件 第三步&#xff1a;为Resource Bundle配置文件命名 完成创建

Swift 周报 第三十五期

文章目录 前言新闻和社区五天市值蒸发 2000 亿美元&#xff0c;苹果公司怎么了&#xff1f;在你的 App 中帮助顾客解决账单问题需要声明原因的 API 列表现已推出 提案通过的提案正在审查的提案 Swift论坛推荐博文话题讨论关于我们 前言 本期是 Swift 编辑组整理周报的第三十五…

SpringMVC归纳与总结

前言 Spring的核心是IOC&#xff0c;一种依赖反转的解耦思想。MVC是一种处理Web请求的架构模式&#xff0c;当两者的作用结合&#xff0c;就形成了SpringMVC。 组成及运行原理 1. 两次映射 2. 为什么用适配器模式 过滤器与拦截器 1. 范围 静态资源与动态资源2. 生命周期…

react-hooks 一般写法汇总

文件一般写法 // 引入统一封装api请求 import {getById } from "@/api"; // 引入ui组件库 import {Toast } from "antd-mobile"; // useEffect 类似vue中watch,或者moundted生命周期,视第二参数数据而定 // useState 是vue2的data、是vue3的ref或reacti…