接口测试返回的json文件中字符串是乱序
问题描述
接口测试中post方式匹配返回信息时显示不匹配, 但是statuscode明明是200, 而且用postman /restclient等工具测出来也是没问题的.
根本原因
封装了这么个方法来比对返回的信息, 但是这种方法在转换返回信息时并没有对字符串进行排序. 所以和api文档中的返回值进行匹配时, 显示不匹配.
package com.crewbudgetMO.API.bean; import static org.testng.Assert.assertEquals; import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException; import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.JsonNode; public class matchResponse { public static void matchPostStatus(HttpResponse<JsonNode> jsonPost, int exp) {
int act = jsonPost.getStatus();
assertEquals(act, exp);
} public static void matchPost (HttpResponse<JsonNode> jsonPost, String filename) {
String filePath = String.format("E:\\Tech\\selenium\\projectname\\src\\test\\java\\com\\subfolder\\API\\file\\%s", filename);
InputStream in = jsonPost.getRawBody();
ByteArrayOutputStream bos = new ByteArrayOutputStream(); byte[] b = new byte [10240];
int length = 0;
try {
while((length = in.read(b))!=-1) {
bos.write(b,0,length);
}
in.close();
} catch (IOException e) {
e.printStackTrace();
} String act = null;
try {
act = new String(bos.toByteArray(), "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
String exp = convertJson.json2String(filePath);
assertEquals(act, exp);
}
}
解决方法
对返回信息的json文件进行排序.
接口测试返回的json文件中字符串是乱序的更多相关文章
- java代码中fastjson生成字符串和解析字符串的方法和javascript文件中字符串和json数组之间的转换方法
1.java代码中fastjson生成字符串和解析字符串的方法 List<TemplateFull> templateFulls = new ArrayList<TemplateFu ...
- Scrapy基础(十一)————导出数据到json文件中
之前介绍过将数据写入mysql数据库中,但是对于那些没有数据库的,可以通过写入json文件中或者是写入到csv或者xls:这里只介绍写入json文件中,也为再练习一下自定义的pipeline 思路: ...
- ASP.NET Core 在 JSON 文件中配置依赖注入
前言 在上一篇文章中写了如何在MVC中配置全局路由前缀,今天给大家介绍一下如何在在 json 文件中配置依赖注入. 在以前的 ASP.NET 4+ (MVC,Web Api,Owin,SingalR等 ...
- 第三天,爬取伯乐在线文章代码,编写items.py,保存数据到本地json文件中
一. 爬取http://blog.jobbole.com/all-posts/中的所有文章 1. 编写jobbole.py简单代码 import scrapy from scrapy. ...
- 转载:ASP.NET Core 在 JSON 文件中配置依赖注入
在以前的 ASP.NET 4+ (MVC,Web Api,Owin,SingalR等)时候,都是提供了专有的接口以供使用第三方的依赖注入组件,比如我们常用的会使用 Autofac.Untiy.Stri ...
- package.json文件中dependencies和devDependencies的区别
在工作和学习中,我经常会用的npm 下载各种包,有时就会遇到各种npm 的形式,现在就捋一捋 首先要先了解 package.json文件中dependencies和devDependencies的 ...
- Linux查找和替换目录下所有文件中字符串(转载)
转自:http://rubyer.me/blog/1613/ 单个文件中查找替换很简单,就不说了.文件夹下所有文件中字符串的查找替换就要记忆了,最近部署几十台linux服务器,记录下总结. 查找文件夹 ...
- comTest.json文件中内容,被NewsList.vue文件引入
本文目标:就是把扩散名为.json文件中数据,传递给NewsList.vue文件.主要通过导出,并传递给data(){}变紧 新建文件名为:commTest.json { "schoolNa ...
- scrapy在存储数据到json文件中时,中文变成为\u开头的字符串的处理方法
在settings.py文件中添加 FEED_EXPORT_ENCODING = 'utf-8'
随机推荐
- objective-c中线程编程一例
/* print with threads : print every file's first n char contents under the path that pass to this pr ...
- twisted高并发库transport函数处理数据包的些许问题
还是在学校时间比较多, 能够把时间更多的花在学习上, 尽管工作对人的提升更大, 但是总是没什么时间学习, 而且工作的气氛总是很紧凑, 忙碌, 少了些许激情吧.适应就好了.延续着之前对twisted高并 ...
- Cookie、sessionStorage、localStorage的区别
共同点:都是保存在浏览器端,且同源的.区别:cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递.而sessionStorage和localStora ...
- Spring Boot Kafka
1.创建集群 http://kafka.apache.org/documentation/#quickstart 有一句我觉得特别重要: For Kafka, a single broker is j ...
- 3sum(从数组中找出三个数的和为0)
Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all un ...
- 面试题-一个for循环输出一个棱形
用一个for循环输出以下棱形 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ...
- Java 理论与实践: 并发集合类
Java 理论与实践: 并发集合类 DougLea的 util.concurrent 包除了包含许多其他有用的并发构造块之外,还包含了一些主要集合类型 List 和 Map 的高性能的.线程安全的实现 ...
- redis+twemproxy实现redis集群
Redis+TwemProxy(nutcracker)集群方案部署记录 转自: http://www.cnblogs.com/kevingrace/p/5685401.html Twemproxy 又 ...
- sublime中安装sublimecodeintel插件
本文是基于在Windows上对sublime进行相关配置. 1.安装sublime,在官网http://www.sublimetext.com/3. 如果是在Linux系统上安装只需要输入命令直接安装 ...
- self-sizing cell的一个问题
如何TableViewCell里面再加上CollectionView这类的ScrollView玩意,那自动算高就失效了,还是得用 override func tableView(_ tableView ...