zoukankan      html  css  js  c++  java
  • 接口测试返回的json文件中字符串是乱序

    问题描述

    接口测试中post方式匹配返回信息时显示不匹配, 但是statuscode明明是200, 而且用postman /restclient等工具测出来也是没问题的.

    根本原因

    封装了这么个方法来比对返回的信息, 但是这种方法在转换返回信息时并没有对字符串进行排序. 所以和api文档中的返回值进行匹配时, 显示不匹配.

     1 package com.crewbudgetMO.API.bean;
     2 
     3 import static org.testng.Assert.assertEquals;
     4 
     5 import java.io.ByteArrayOutputStream;
     6 import java.io.IOException;
     7 import java.io.InputStream;
     8 import java.io.UnsupportedEncodingException;
     9 
    10 import com.mashape.unirest.http.HttpResponse;
    11 import com.mashape.unirest.http.JsonNode;
    12 
    13 
    14 public class matchResponse {
    15     
    16     public static void matchPostStatus(HttpResponse<JsonNode> jsonPost, int exp) {
    17         int act = jsonPost.getStatus();
    18         assertEquals(act, exp);
    19     }
    20     
    21     
    22     public static void matchPost (HttpResponse<JsonNode> jsonPost, String filename) {
    23         String filePath = String.format("E:\Tech\selenium\projectname\src\test\java\com\subfolder\API\file\%s", filename);        
    24         InputStream in = jsonPost.getRawBody();
    25         ByteArrayOutputStream bos = new ByteArrayOutputStream();    
    26         
    27         byte[] b = new byte [10240];
    28         int length = 0;
    29         try {
    30             while((length = in.read(b))!=-1) {
    31                 bos.write(b,0,length);
    32             }
    33             in.close();
    34         } catch (IOException e) {
    35             e.printStackTrace();
    36         }
    37 
    38         String act = null;
    39         try {
    40             act = new String(bos.toByteArray(), "UTF-8");
    41         } catch (UnsupportedEncodingException e) {
    42             e.printStackTrace();
    43         }
    44         String exp = convertJson.json2String(filePath);
    45         assertEquals(act, exp);    
    46     }        
    47 }
    View Code

    解决方法

    对返回信息的json文件进行排序.

  • 相关阅读:
    选择率,基数计算公式
    10.2.0.1.1 grid control的启动和关闭
    重建控制文件
    批量构建添加数据文件SQL
    Flex内存泄露解决方法和内存释放优化原则
    [INS-32052] Oracle基目录和Oracle主目录位置相同
    [INS-20802] Oracle Database Configuration Assistant 失败
    Caused by:java.sql.SQLException:ORA-01008:并非所有变量都已绑定
    JSP中的include有哪些?有什么区别?
    解析XML的方法
  • 原文地址:https://www.cnblogs.com/cheese320/p/9014094.html
Copyright © 2011-2022 走看看