Jmeter使用笔记之断言

前言

Jmeter的断言方式有很多种,由于在工作中经常做的是API接口测试,所以这篇文章主要介绍如何对接口的字段进行解析,如何对解析出来的字段的值断言

了解API接口

Restful API 规范

  1. 协议:采用http或者https协议

  2. 数据传输格式:采用json,而不用xml

  3. url链接:url链接中,不能有动词,只能有名词,而且对于一些名词,如果出现复数,那么应该后面加上s。例如:获取文章列表,使用/articles/,而不使用/get_article/

  4. http请求的方法:

    1. GET:从服务器上获取资源
    2. POST:在服务器上新创建一个资源
    3. PUT:在服务器上更新资源,(客户端提供所有改变后的数据)
    4. PATCH:在服务器上更新资源,(客户端只提供要改变的属性)
    5. DELETE:从服务器上删除资源
  5. 状态码

状态码原生描述描述
200 OK 服务器成功响应客户端请求
400 INVALID REQUEST 用户发出的请求有误
401 Unauthorized 用户没有权限访问这个请求
403 Forbidden 由于某些原因,服务器禁止访问这个请求
404 NOT FOUND 用户请求的url不存在
406 NOT Acceptable 用户请求不被服务器接收(比如服务器期望客户端发送某个字段,但是没有发出)
500 Internal server error 服务器内部错误
  1. 示例1:
    url:
        /api/get-token/
    
    method: 
        POST
    
    Headers:
        app_version: 2.8.6
        Content-Type: application/json
        os_platform: ios
        user_agent: iOS/10.3
        device_sn: FwgRiO7CNA50DSU
    
    body:
        {"sign": "958a05393efef0ac7c0fb80a7eac45e24fd40c27"}
    
    response:
        {
            "success": true,
            "token": "qba756V9z6rOYOVH"
        }

这个示例中基本符合restful api接口规范,但是在实际开发中response基本不会这样写,下面的例子是实际开发中response的例子

  1. 示例2:
    url:
        /user/accessToken/
    
    method: 
        POST
    
    Headers:
        app_version: "2.8.6"
        Content-Type: "application/json"
        os_platform: "ios"
        user_agent: "iOS/10.3"
        device_sn: "FwgRiO7CNA50DSU"
        platform_id: "87659"
    
    body: {
        "email": "********@qq.com",
        "timestamp": "1598765432198" # 时间戳一般13位
        "sign": "958a05393efef0ac7c0fb80a7eac45e24fd40c27"
        }
    
    response: {
      "code": "000000", 
      "data": {
          "token": "qba756V9z6rOYOVH"
          }, 
      "message": "操作成功",
      "success": True
    }
这个例子当中,response返回的json数据就比较规范。code|message|success 这3个字段一般是不会变的。

1. code 接口返回的状态码,包括成功的和失败的,设计的时候会有一个状态码对照表,对照code,就可以知道返回的message文案
2. message 接口返回的状态码的说明,包括成功的和失败的

断言返回的Json数据

  1. 安装插件JSON/YAML Plugins
    打开插件管理器,搜索JSON,选中JSON/YAML Plugins 插件,点击Apply Changes and Restart Jmeter,即可完成插件安装
    在这里插入图片描述
    在这里插入图片描述
  2. 解析返回的json数据
    解析返回的code,用code去判断请求返回的是否正确

在这里插入图片描述

  1. 断言结果查看
    需要添加 断言结果,如图是断言失败的情况(这里对token进行了断言,由于每一次返回的token都是不一样的,所以实际项目中不会对token进行断言,而是判断token是否返回成功,然后提取token以便其他接口使用):

在这里插入图片描述

查看结果树中也可以看到断言结果:

在这里插入图片描述
至此,一个完整的Http请求接口基本上算是完成了。

Jmeter使用基础系列文章大纲:
Jmeter使用基础笔记 - 认识Jmeter
Jmeter使用基础笔记 - 写一个http请求
Jmeter使用基础笔记 - 断言 - API接口返回数据断言

原文地址:https://www.cnblogs.com/DeaconOne/p/10787522.html