我们在使用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_接口自动化的更多相关文章

  1. jmeter接口自动化集成

    接口自动化集成 一.jmeter基础学习 1.博客  :http://www.cnblogs.com/fnng/category/345478.html 2.博客   http://www.cnblo ...

  2. Python+excel实现的简单接口自动化 V0.1

    好久没写博客了..最近忙着工作以及新工作的事.. 看了下以前写的简单接口自动化,拿出来总结下,也算记录下学习成果 先来贴一下最后的结果,结果是写在原来的excel中 执行完毕后,会将结果写入到“状态” ...

  3. 接口自动化之Postman+Newman

    简介 Postman 使一款可以方便我们调用API的工具,通过Postman 与 Newman结合我们还可以批量运行API达到API自动化测试的目的. Postman 安装 Window 系统需要先安 ...

  4. 接口自动化的根基--HTTP协议

    点击标题下「蓝色微信名」可快速关注 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注.转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是 ...

  5. 持续集成接口自动化-jmeter+ant+jenkins(一)

    ant 批量执行Jmeter 一.环境准备 1.JDK环境:http://www.oracle.com/technetwork/java/javase/downloads/index.html 2.A ...

  6. python+request接口自动化框架

    python+request接口自动化框架搭建 1.数据准备2.用python获取Excel文件中测试用例数据3.通过requests测试接口4.根据接口返回的code值和Excel对比 但本章只讲整 ...

  7. Python接口自动化——soap协议传参的类型是ns0类型的要创建工厂方法纪要

    1:在Python接口自动化中,对于soap协议的xml的请求我们可以使用Suds Client来实现,其soap协议传参的类型基本上是有2种: 第一种是传参,不需要再创建啥, 第二种就是ns0类型的 ...

  8. jemeter 实现接口自动化回归测试

    jemeter做接口自动化测试的优点: 1.首先我认为最重要的是不需要编程基础,很多一直想做接口测试但一直徘徊在门边的原因可能就是不想写代码 2.可以更快的上手,能让测试人员更好的理解什么是接口测试, ...

  9. 转载:python + requests实现的接口自动化框架详细教程

    转自https://my.oschina.net/u/3041656/blog/820023 摘要: python + requests实现的接口自动化框架详细教程 前段时间由于公司测试方向的转型,由 ...

随机推荐

  1. 条件随机场CRF原理介绍 以及Keras实现

    本文是对CRF基本原理的一个简明的介绍.当然,“简明”是相对而言中,要想真的弄清楚CRF,免不了要提及一些公式,如果只关心调用的读者,可以直接移到文末. 图示# 按照之前的思路,我们依旧来对比一下普通 ...

  2. Android开发:文本控件详解——TextView(二)文字跑马灯效果实现

    一.需要使用的属性: 1.android:ellipsize 作用:若文字过长,控制该控件如何显示. 对于同样的文字“Android开发:文本控件详解——TextView(二)文字跑马灯效果实现”,不 ...

  3. zabbix 自动发现 监控 硬盘读写 disk io

    直接 上配置: 1.配置文件 cat userparameter_harddisk.conf #discovery hard diskUserParameter=custom.vfs.discover ...

  4. ImportError: DLL load failed while importing win32api: 找不到指定的模块。

    这个是用pip install pywin32安装报的一个错误 据说直接使用pip install pypiwin32安装就不会有报错 但是遇到错误还是要尝试解决一下的 pip install pyw ...

  5. APISIX系列 | 使用 docker-apisix 安装APISIX服务

    官方仓库:https://github.com/iresty/docker-apisix 官方仓库 拉取 git clone git@github.com:iresty/docker-apisix.g ...

  6. Nginx+keepalived实现负载均衡高可用配置

    1. 什么是负载均衡高可用 nginx作为负载均衡器,所有请求都到了nginx,可见nginx处于非常重点的位置,如果nginx服务器宕机后端web服务将无法提供服务,影响严重. 为了屏蔽负载均衡服务 ...

  7. 修改Jupyter Notebook默认文件存储路径(已安装Anaconda)

    https://blog.csdn.net/weixin_44799144/article/details/91823079 修改Jupyter Notebook默认文件存储路径首先,安装好Anaco ...

  8. web页面引入字体

    一.常见web字体 TrueType (.ttf) Windows和Mac系统最常用的字体格式,其最大的特点就是它是由一种数学模式来进行定义的基于轮廓技术的字体,这使得它们比基于矢量的字体更容易处理, ...

  9. 阿里云OSS设置跨域访问 H5的时候

    OSS 提供 HTML5 协议中的跨域资源共享 CORS 设置,帮助您实现跨域访问.当 OSS 收到一个跨域请求(或者 OPTIONS 请求)时,会读取存储空间对应的 CORS 规则,然后进行相应的权 ...

  10. Java基础 awt Button 鼠标放在按钮上背景颜色改变,鼠标离开背景颜色恢复

        JDK :OpenJDK-11      OS :CentOS 7.6.1810      IDE :Eclipse 2019‑03 typesetting :Markdown   code ...