我们在使用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断言
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
实际行:
总结:
感谢每一个认真阅读我文章的人!!!
我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。欢迎大家点击下方名片免费领取,千万不要错过哦。