robotframework_接口自动化
我们在使用rebotframework的时候,不只是能做UI自动化,接口自动化也是可以的。
那么这里就整理一下rebotframework_接口自动化的应用:
一、编写接口测试





由上图可知,该接口如下信息:
接口功能描述:预诊模版检索API,以及接口请求的地址
接口请求参数:详细介绍接口的参数名称,参数说明,参数的类型,参数的描述,参数在请求的时候是否为空,以及对应的范例
接口返回说明:
1)接口返回的格式,包含默认返回的字段,字段的说明,以及字段的类型
2)接口基本返回示例,接口返回默认的字段信息
3)接口响应码状态说明
4)接口返回字段属性说明
5)接口排序参数
接口请求URL实例 :请求说明,以及对应的URL
接口返回结果示例:根据接口实际返回的数据为例进行展示,这里返回的格式都是以json格式进行返回的
2、设计接口用例
常规接口在设计用例时,至少需包括两类,常规值用例、异常值用例。

接口的设计规范,主要包含三点:
1)要做到流程和数据的分离,通过不断抽象,消除冗余
2)测试用例应尽量简单易读,避免复杂逻辑
3)建立测试用例分层架构,并坚守,自动化测试用例必须非常健壮,避免误报
3、编写接口用例
调用操作流程关键字,传入测试数据

编写接口测试时,首先需要进行数据准备,设置参数,然后构造请求,最后对结果进行断言,最后删除session





在针对接口返回的结果进行断言,校验接口返回是否正常,是否符合预期值


接口用例设计好之后,如何能让用例能发挥价值主要取决于断言如何来写,接口自动化用例的最终目的是通过接入研发体系的CI持续集成中,通过接口每日构建中校验接口的稳定性,是否由于环境因素影响,或者每次迭代接口时对现有接口的影响。那么如何发现异常 ,简单来说,就是期望接口返回的数据与接口实际返回的数据不一致。而这个过程就需要通过合理地在接口用例中使用断言来实现。
那么有人会问,接口断言我加了啊?不就是校验接口返回的code值是否是成功的吗?我相信至少有一部分人在设计接口用例断言时,只有且仅有校验接口的返回code值,虽然code值的断言是需要的,但不能仅仅只通过这一种断言方式来做为接口是否有异常的判断依据。
那么接口断言,需要有几种呢,从上面接口用例设计的截图中大家也能看出,一般来说至少需要有三种:
正常code断言(正常返回的code值)、
异常断言(异常的code值和异常的message错误信息)、
接口关键数据断言(校验具体返回的数据字段值)

1、正常code断言

2、异常code,message断言
3、接口数据断言


4、接口断言常用关键字
BuiltIn中包含的断言关键字,平时在对接口返回结果进行断言时也能使用以下关键字
Should Be Empty
Should Be Equal
Should Not Be Empty
Should Be Equal As Integers
Should Be Equal As Numbers
Should Be Equal As Strings
Should Be True
Should Contain
Should Contain Any
Should Contain X Times
Should End With
Should Match
Should Match Regexp
Should Not Be Equal
Should Not Be Equal As Integers
Should Not Be Equal As Numbers
Should Not Be Equal As Strings
Should Not Be True
Should Not Contain
Should Not Contain Any
Should Not End With
Should Not Match
Should Not Match Regexp
Should Not Start With
Should Start With
Collections中包含的断言关键字,平时在对接口返回结果进行断言时也能使用以下关键字
Dictionaries Should Be Equal
Dictionary Should Contain Item
Dictionary Should Contain Key
Dictionary Should Contain Sub Dictionary
Dictionary Should Contain Value
Dictionary Should Not Contain Key
Dictionary Should Not Contain Value
List Should Contain Sub List
List Should Contain Value
List Should Not Contain Duplicates
List Should Not Contain Value
Lists Should Be Equal
Should Contain Match
Should Not Contain Match
String中包含的断言关键字,平时在对接口返回结果进行断言时也能使用以下关键字
Should Be Byte String
Should Be Lowercase
Should Be String
Should Be Titlecase
Should Be Unicode String
Should Be Uppercase
Should Not Be String
实际执行:




作者:含笑半步颠√
博客链接:https://www.cnblogs.com/lixy-88428977
声明:本文为博主学习感悟总结,水平有限,如果不当,欢迎指正。如果您认为还不错,欢迎转载。转载与引用请注明作者及出处。
robotframework_接口自动化的更多相关文章
- jmeter接口自动化集成
接口自动化集成 一.jmeter基础学习 1.博客 :http://www.cnblogs.com/fnng/category/345478.html 2.博客 http://www.cnblo ...
- Python+excel实现的简单接口自动化 V0.1
好久没写博客了..最近忙着工作以及新工作的事.. 看了下以前写的简单接口自动化,拿出来总结下,也算记录下学习成果 先来贴一下最后的结果,结果是写在原来的excel中 执行完毕后,会将结果写入到“状态” ...
- 接口自动化之Postman+Newman
简介 Postman 使一款可以方便我们调用API的工具,通过Postman 与 Newman结合我们还可以批量运行API达到API自动化测试的目的. Postman 安装 Window 系统需要先安 ...
- 接口自动化的根基--HTTP协议
点击标题下「蓝色微信名」可快速关注 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注.转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是 ...
- 持续集成接口自动化-jmeter+ant+jenkins(一)
ant 批量执行Jmeter 一.环境准备 1.JDK环境:http://www.oracle.com/technetwork/java/javase/downloads/index.html 2.A ...
- python+request接口自动化框架
python+request接口自动化框架搭建 1.数据准备2.用python获取Excel文件中测试用例数据3.通过requests测试接口4.根据接口返回的code值和Excel对比 但本章只讲整 ...
- Python接口自动化——soap协议传参的类型是ns0类型的要创建工厂方法纪要
1:在Python接口自动化中,对于soap协议的xml的请求我们可以使用Suds Client来实现,其soap协议传参的类型基本上是有2种: 第一种是传参,不需要再创建啥, 第二种就是ns0类型的 ...
- jemeter 实现接口自动化回归测试
jemeter做接口自动化测试的优点: 1.首先我认为最重要的是不需要编程基础,很多一直想做接口测试但一直徘徊在门边的原因可能就是不想写代码 2.可以更快的上手,能让测试人员更好的理解什么是接口测试, ...
- 转载:python + requests实现的接口自动化框架详细教程
转自https://my.oschina.net/u/3041656/blog/820023 摘要: python + requests实现的接口自动化框架详细教程 前段时间由于公司测试方向的转型,由 ...
随机推荐
- P3386 【模板】二分图匹配(匈牙利算法)
题目背景 二分图 题目描述 给定一个二分图,结点个数分别为n,m,边数为e,求二分图最大匹配数 输入输出格式 输入格式: 第一行,n,m,e 第二至e+1行,每行两个正整数u,v,表示u,v有一条连边 ...
- 第03组 Alpha冲刺
队名:不等式方程组 组长博客 作业博客 团队项目进度 组员一:张逸杰(组长) 过去两天完成的任务: 文字/口头描述: 制定了初步的项目计划,并开始学习一些推荐.搜索类算法 GitHub签入纪录: 暂无 ...
- webstorm永久破解
准备 1. webstorm下载 本次使用的是2017.3.3版本,如果找不到那么在此附上:webstorm各版本下载地址. 前段时间有朋友反馈破解不成功,今天本人亲测2017.3.3仍可以破解成功, ...
- Tecplot——为动画添加求解时间(翻译)
翻译自:<Tecplot 360 Getting Started Manual>中的Scenic Detour: Add Solution Time Caption 首先展示效果: 在画图 ...
- Segment fault 常见原因
[https://blog.csdn.net/qq_22238021/article/details/79872978] 本质原因在于:程序访问了非法的地址 1.引用空指针 2.野指针 3.访问越界 ...
- 《微信小程序商城开发实战》笔者的新书,欢迎各位粉丝上京东购买
作者图书京东链接,请点击------>>> **微信小程序商城开发实战** 附京东真实评价截图: 编辑推荐 在当今移动互联网大潮中,微信应用凭借其庞大的用户基数和极强的用户黏性 ...
- RunTime.getRunTime().addShutdownHook的用法
今天在阅读Tomcat源码的时候,catalina这个类中使用了下边的代码,不是很了解,所以google了一下,然后测试下方法,Tomcat中的相关代码如下: Runtime.getRuntime() ...
- mapdb的适用场景介绍
对于大部分系统来说,mapdb并无太大价值,而且增加了成本.但是如果一级缓存巨大例如数以十GB级别,或占据了整个JVM的1/2以上,mapdb的价值就会体现出来.正如其官网介绍: MapDB prov ...
- Springboot Mybatis 集成 Redis
版本信息 Sprintboot 采用 2.1.7 RELEASE 版本 Mybatis 采用 2.1.0 Redis 采用 2.1.6.RELEASE Redis 的使用 添加 Redis 依赖 &l ...
- postgre with递归查询组织路径
with递归查询组织路径 SELECT r.id, (array_to_string( array( select name from ( with recursive rec as( select ...