zoukankan      html  css  js  c++  java
  • 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

    声明:本文为博主学习感悟总结,水平有限,如果不当,欢迎指正。如果您认为还不错,欢迎转载。转载与引用请注明作者及出处。

  • 相关阅读:
    软件体系风格选择小结
    bert入门资料
    RNN入门和seq2seq
    推荐系统论文源码笔记——依次学习之DKN源码笔记
    Mac os下gcc编译错误解决方案
    ns3 安装方法
    angular http ajax header
    javascript 实现htmlEncode htmlDecode
    windows下的python扩展包下载地址
    php版DES
  • 原文地址:https://www.cnblogs.com/lixy-88428977/p/9617196.html
Copyright © 2011-2022 走看看