传统方式接口测试返回值json验证
1.返回值

2.验证方式:
public void check200_N(Object obj, int ret_num)
throws UnsupportedEncodingException, Exception {
JSONObject resultJson = JSONObject.fromObject(obj);
Assertions.assertThat(resultJson.getString("retCode")).isEqualTo("200");
Assertions.assertThat(resultJson.getString("retDesc"))
.isEqualTo("操作成功");
Assertions.assertThat(resultJson.containsKey("ret")).isTrue(); JSONArray jsonArray = resultJson.getJSONArray("ret");
Assertions.assertThat(jsonArray.size()).isEqualTo(ret_num);
Iterator<JSONObject> iterator = jsonArray.iterator();
while (iterator.hasNext()) {
JSONObject tmp = iterator.next();
Assertions.assertThat(tmp.getString("id")).isNotEmpty();
Assertions.assertThat(tmp.getString("title")).isNotEmpty();
Assertions.assertThat(tmp.getString("digest")).isNotEmpty();
Assertions.assertThat(tmp.getString("analystName")).isNotEmpty();
Assertions.assertThat(tmp.getString("url")).isNotEmpty();
Assertions.assertThat(tmp.getString("sourceCreateTime"))
.isNotEmpty();
Assertions.assertThat(tmp.getString("replies")).isNotEmpty();
Assertions.assertThat("5,6,4,3,2,1,0").contains(
tmp.getString("type"));
Assertions.assertThat(tmp.getString("analystImage")).isNotEmpty();
Assertions.assertThat(tmp.getString("orderWeight")).isNotEmpty();
String t = tmp.getString("imageList");
if (t != null && (!t.equals("null") && t.length() > 2)) {
JSONArray jsonArray2 = tmp.getJSONArray("imageList");
Iterator<JSONObject> iterator2 = jsonArray2.iterator();
while (iterator2.hasNext()) {
JSONObject tmp2 = iterator2.next();
Assertions.assertThat(tmp2.getString("originWidth"))
.isNotEmpty();
Assertions.assertThat(tmp2.getString("originHeight"))
.isNotEmpty();
Assertions.assertThat(tmp2.getString("originUrl"))
.isNotEmpty();
}
}
}
System.out.println("测试成功");
}
传统方式接口测试返回值json验证的更多相关文章
- 接口测试返回的json文件中字符串是乱序
问题描述 接口测试中post方式匹配返回信息时显示不匹配, 但是statuscode明明是200, 而且用postman /restclient等工具测出来也是没问题的. 根本原因 封装了这么个方法来 ...
- 【Flask】 python学习第一章 - 2.0 视图方式和返回值
路由参数与请求方式制定 ALT+回车 pycharm 快速导包 demo3 指定访问地址 与请求方式 # 给路由传入参数 使用尖括号 ,视图函数需要接收参数 @app.route(&q ...
- GsonFormat根据返回值json快速构建Model
Json是一个插件,我们只需要在Android studio中进行安装一下,即可使用. 根据平时的操作,根据浏览器中返回中的数据一行一行敲,其实这样非常麻烦. 有一个简单的方法,可以瞬间生成一个实体类 ...
- springboot中返回值json中null转换空字符串
在实际项目中,我们难免会遇到一些无值.当我们转JSON时,不希望这些null出现,比如我们期望所有的null在转JSON时都变成“”“”这种空字符串,那怎么做呢? Jackson中对null的处理 @ ...
- 接口API测试和返回值JSON解析的插件
火狐插件1. HttpRequest作用:接口API测试例子:http://192.168.10.61:8080/ZHCS/user/loginApp.do?phone=admin&pwd ...
- jquery ajax和php实现返回值 json类型
js页面 $.ajax({ type: “POST”, dataType: ‘json’, url: “add_vote.php”, data: “touid=”+uid+”&touserna ...
- ajaxFileUpload上传带参数,返回值改成json格式
/*直接复制在自己的js文件中就能使用*/ jQuery.extend({ createUploadIframe: function (id, uri) { //create frame var fr ...
- HttpClient调用doGet、doPost、JSON传参及获得返回值
调用 doPost:map传参 Map<String,Object> map = new HashMap<>(); map.put("test"," ...
- Ajax详解及使用Ajax时的返回值类型有哪些?
Ajax详解 Ajax = 异步 JavaScript 和 XML. Ajax 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新.这意味着可以在 ...
随机推荐
- 解决fixed布局里内容不滚动问题
//注意给父级加上 (1)横向滚动 left:0; right:0; 然后想要横向滚动的话 overflow-x:scroll; overflow-y:hidden; (2)竖直方向滚动top:0;b ...
- HyperLedger Cello学习笔记
HyperLedger Cello学习笔记 转载请注明出处:HyperLedger Cello学习笔记 概述 Hyperledger Cello是Hyperledger下的一个子项目,其主要功能如下: ...
- SSM框架和微服务构架和的联系与区别
spring和springMvc: 1. spring是一个一站式的轻量级的java开发框架,核心是控制反转(IOC)和面向切面(AOP),针对于开发的WEB层(springMvc).业务层(Ioc) ...
- JavaScript中的深浅拷贝
深浅拷贝 在JS中,数据类型分为两类: 简单数据类型:Number.Boolean.String.undefined 引用数据类型:Array.Object.Function 简单数据类型通常 ...
- DevOps云翼日志服务实践
10月30日,全球权威数据调研机构IDC正式发布<IDCMarketScape:中国DevOps云市场2019,厂商评估>报告.京东云凭借丰富的场景和实践能力,以及高质量的服务交付和平台稳 ...
- Img转base64
function getBase64Image(img) { var canvas = document.createElement("canvas"); canvas.width ...
- MyBatis中foreach传入参数为数组
一.当只有一个参数,并且这个参数是数组时 接口方法的参数不需要添加@Param注释,collection="array" 示例 接口的方法 void deleteMulti(Str ...
- github新建一个单页
比如可以在github上打开的网页是这种网址形式的:https://01xunsicheng.github.io/yumeihua/ 1.登录后首页找到 New repository 2.新建一个文件 ...
- MySQL--基础SQL--DDL
1.创建数据库 CREATE DATABASE dbname 例: CREATE DATABASE test 2.选择要操作的数据库 USE dbname 例: USE test 3.删除数据库 DR ...
- 1811 06 pygame 的继续开发
早上看了 高数和python 好像系统没有保存 桑心啊 关于游戏背景的制作 游戏背景就是 背景在移动 而主人物还在原位置的 常常用于跑酷游戏类 背景开始绘制两张图像 一张完全 ...