接口自动化之DataUtilPractice 类数据验证
来源:互联网 发布:快易数据恢复 编辑:程序博客网 时间:2024/06/06 10:06
验证结果数据与返回数据是否一致
package com.second;import com.alibaba.fastjson.JSON;import javafx.beans.binding.ObjectBinding;import org.junit.Test;import java.util.ArrayList;import java.util.List;import java.util.Map;/** * Created by Administrator on 2017/8/15 0015. */public class DataUtilPractice { /** * 判断两个类型的值是否相等 * * @return null */ //instanceof的含义是当前的值是不是这个类型,当前值的对象是不是instanceof 后面的一个子对象 返回来的值是什么类型 不确定可能是int string public static Boolean isEquals(Object resultKeyValue, Object returnBodyKeyValue) throws Exception { boolean objectFlag = false; if (returnBodyKeyValue instanceof String) { objectFlag = ((String) resultKeyValue).equalsIgnoreCase((String) returnBodyKeyValue); } else if (returnBodyKeyValue instanceof Integer) { objectFlag = ((Integer) resultKeyValue) == (Integer) returnBodyKeyValue; } else if (returnBodyKeyValue instanceof Double) { objectFlag = ((Double) resultKeyValue) == (Double) returnBodyKeyValue; } else if (returnBodyKeyValue instanceof Short) { objectFlag = ((Short) resultKeyValue) == (Short) returnBodyKeyValue; } else if (returnBodyKeyValue instanceof Float) { objectFlag = ((Float) resultKeyValue) == (Float) returnBodyKeyValue; } else if (returnBodyKeyValue instanceof Long) { objectFlag = ((Long) resultKeyValue) == (Long) returnBodyKeyValue; } else if (returnBodyKeyValue instanceof Boolean) { objectFlag = ((Boolean) resultKeyValue) == (Boolean) returnBodyKeyValue; } else { String r = JSON.toJSONString(resultKeyValue); String r2 = JSON.toJSONString(returnBodyKeyValue); objectFlag = r.equalsIgnoreCase(r2); } return objectFlag; } @Test public void v1 () throws Exception { String result = "{\n" + " \"code\": 0,\n" + " \"message\": \"获取数据成功\",\n" + " \"author\": \"pp\",\n" + " \"count\": 5,\n" + " \"isLike\": 0,\n" + " \"operator\": \"c-81\",\n" + " \"sendTime\": \"2025-02-29 13:24:23\",\n" + " \"success\": true\n" + "}\n"; String returnBody = "{\n" + " \"code\": 0,\n" + " \"message\": \"获取数据成功\",\n" + " \"author\": \"pp\",\n" + " \"count\": 5,\n" + " \"isLike\": 2,\n" + " \"operator\": \"c-81\",\n" + " \"sendTime\": \"2035-02-29 13:24:23\",\n" + " \"success\": true\n" + "}\n"; List<String> keyList = new ArrayList<String>(); keyList.add("code"); keyList.add("success"); keyList.add("sendTime"); Map resultMap = JSON.parseObject(result,Map.class); Map returnBodyMap = JSON.parseObject(returnBody,Map.class); String status = ""; for(String key : keyList){ status = "pass"; Object resultKeyValue = resultMap.get(key); Object returnBodyKeyValue = returnBodyMap.get(key); if(!DataUtil.isEquals(resultKeyValue,returnBodyKeyValue)){ status = "fail"; break; } } System.out.print(status); }}
阅读全文
0 0
- 接口自动化之DataUtilPractice 类数据验证
- 接口自动化之封装httpclientUtil类
- 接口自动化之 JsonArrayTest
- WEB接口测试之Jmeter接口测试自动化 (三)(数据驱动测试) 接口测试与数据驱动
- WEB接口测试之Jmeter接口测试自动化 (三)(数据驱动测试)
- 接口自动化之Postman+Newman
- 【JMeter 菜鸟实操之四】接口自动化测试实施(数据驱动)
- Excel+Httpclient,数据驱动接口自动化测试
- 自动化测试之绕过验证码
- python接口自动化4-绕过验证码登录(cookie)
- 接口自动化测试介绍之Requests
- 接口自动化测试之旅--JsonSchema
- 接口自动化测试之http请求实践
- 接口自动化之json取值
- 接口自动化之thirdDay JsonPathTest 定位
- 验证自动化
- 接口自动化
- 接口自动化
- 动态规划之走台阶问题
- 模板与泛型编程
- JSON在线编缉器命令行工具-解放你的双手
- css优先级 中文版MDN补充翻译
- Hibernate-------<1>初步学习
- 接口自动化之DataUtilPractice 类数据验证
- 多项式加法(10分)
- 微信扫描二维码实现自动跳转
- 以故事的方式让你理解Java(二)
- Unreal中实现UV中心和边缘区别拉伸
- SYBASE ASE上排查问题自定义存储过程
- php根据key值去重
- 节能(区间DP)
- socket C/C++编程(4)Server端向OS请求sockets资源进行server端开放端口号的绑定