Jmeter使用基础笔记 - 断言 - API接口返回数据断言
2019-01-22 20:37
92 查看
Jmeter的断言方式有很多种,我在工作中由于经常做的是API接口测试,性能也是对接口进行压测,所以这篇文章主要介绍如何对API接口做断言
了解API接口
Restful API 规范
-
协议:采用http或者https协议
-
数据传输格式:采用json,而不用xml
-
url链接:url链接中,不能有动词,只能有名词,而且对于一些名词,如果出现复数,那么应该后面加上s。例如:获取文章列表,使用/articles/,而不使用/get_article/
-
http请求的方法:
GET:从服务器上获取资源 - POST:在服务器上新创建一个资源
- PUT:在服务器上更新资源,(客户端提供所有改变后的数据)
- PATCH:在服务器上更新资源,(客户端只提供要改变的属性)
- DELETE:从服务器上删除资源
状态码
状态码 | 原生描述 | 描述 |
---|---|---|
200 | OK | 服务器成功响应客户端请求 |
400 | INVALID REQUEST | 用户发出的请求有误 |
401 | Unauthorized | 用户没有权限访问这个请求 |
403 | Forbidden | 由于某些原因,服务器禁止访问这个请求 |
404 | NOT FOUND | 用户请求的url不存在 |
406 | NOT Acceptable | 用户请求不被服务器接收(比如服务器期望客户端发送某个字段,但是没有发出) |
500 | Internal server error | 服务器内部错误 |
- 示例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的例子
- 示例2:
url: /user/accessToken/ method: POST Headers: app_version: "2.8.6" Content-Type: "app 4000 lication/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 接口返回的状态码,包括成功的和失败的 2. message 接口返回的状态码的说明,包括成功的和失败的
断言返回的Json数据
- 安装插件JSON/YAML Plugins
打开插件管理器,搜索JSON,选中JSON/YAML Plugins 插件,点击Apply Changes and Restart Jmeter
,即可完成插件安装
- 解析返回的json数据
解析返回的code,用code去判断请求返回的是否正确
- 断言结果查看
需要添加 断言结果,如图是断言失败的情况(这里对token进行了断言,由于每一次返回的token都是不一样的,所以实际项目中不会对token进行断言,而是判断token是否返回成功,然后提取token以便其他接口使用):
查看结果树中也可以看到断言结果:
至此,一个完整的Http请求接口基本上算是完成了。
Jmeter使用基础系列文章大纲:
Jmeter使用基础笔记 - 认识Jmeter
Jmeter使用基础笔记 - 写一个http请求
Jmeter使用基础笔记 - 断言 - API接口返回数据断言
相关文章推荐
- JMeter之BeanShell使用实例: 断言返回的数据类型
- jmeter测试(10)---通过接口新增数据后从数据库获取ID和接口返回的ID进行比较(使用beanshell断言)
- 大数据技术学习笔记之hive框架基础2-hive中常用DML和UDF和连接接口使用
- android菜鸟学习笔记25----与服务器端交互(二)解析服务端返回的json数据及使用一个开源组件请求服务端数据
- struts2学习笔记--使用struts2插件实现ajax处理(返回json数据)
- 数据分析最常用的matplot基础使用笔记
- JMeter:使用正则表达式提取服务器动态返回数据
- 大数据技术学习笔记之hive框架基础3-sqoop工具的使用及具体业务分析
- ADO.NET笔记——使用DataSet返回数据
- ADO.NET笔记——使用Connection连接数据库,使用Command对象的ExecuteReader()方法创建DataReader对象返回多行数据
- Java基础知识强化之网络编程笔记16:Android网络通信之 使用Http的Get方式读取网络数据(基于HTTP通信技术)
- Java基础知识强化之网络编程笔记17:Android网络通信之 使用Http的Post方式读取网络数据(基于HTTP通信技术)
- Jmeter入门实战(二)如何使用Jmeter的BeanShell断言,把响应数据中的JSON跟数据库中的记录对比
- 接口测试工具-Jmeter使用笔记(四:响应断言)
- CUBRID学习笔记 39 net使用dataset 返回查询的数据
- 【Swift】学习笔记(一)——初识 基础数据类型,代码风格,元组,断言
- Java基础知识强化之网络编程笔记18:Android网络通信之 使用HttpClient的Post / Get 方式读取网络数据(基于HTTP通信技术)
- Ajax 复杂数据类型使用基础
- JSP设计模式基础:View Helper模式——学习如何使用View Helper模式使得Model数据适应表现层的需要(3)
- 阐述返回JSON数据的使用说明介绍