通过json参数化做复杂参数接口自动化过程

请求参数如下

通过json参数化做复杂参数接口自动化过程

通过json参数化做复杂参数接口自动化过程

复杂的请求体


通过json参数化做复杂参数接口自动化过程

请求字段


这种复杂的参数体,最好通过将每个字段拆分成不同的子请求体,然后在请求的时候进行组装,上图的每个字段都可以单独拆分出来一个请求,最后可以拼接出不同的业务流程。

先将请求json放置到本地,将需要参数化的值使用${}声明为一个变量

通过json参数化做复杂参数接口自动化过程

引入需要的jar包



   com.fasterxml.jackson.core
   jackson-annotations


   com.fasterxml.jackson.core
   jackson-databind


   com.fasterxml.jackson.dataformat
   jackson-dataformat-yaml



   com.fasterxml.jackson.dataformat
   jackson-dataformat-csv

通过Jackson typereference 泛型读取相关文件

通过json参数化做复杂参数接口自动化过程

读取json文件并替换变量

通过json参数化做复杂参数接口自动化过程

// 活动名称
public static  HashMap getActivityName(String  activityName){
    MapperUtil> mapperUtil = new MapperUtil<>();
    HashMap activityNameMap = mapperUtil.getReadValue(
            "src/main/resources/data/basic-parameter/activityName.json");
    log.info("读取的活动名称相关json"+activityNameMap);

    HashMap newActivityName = new HashMap<>();

    activityNameMap.forEach((
            (s, o) -> { // 遍历value以 { 和} 结尾的值
                log.info("未转换前" + o);
                if (Objects.nonNull(o)) {
                    String value = o.toString();
                    if (value.startsWith("${") && value.endsWith("}")) {  //获取到的结果为: ${activityName}
                        String value1 = StringUtils.stripStart(value, "${"); // 去掉${--> activityName}
                        String value2 = StringUtils.stripEnd(value1, "}"); // 去掉} -->activityName
                        if ("activityName".equals(value2)) {
                            o = activityName;
                        }
                    }
                }
                newActivityName.put(s, o);
            }
    ));
    log.info("遍历后"+activityNameMap);
    return  newActivityName;

}
通过json参数化做复杂参数接口自动化过程

测试

因为json中有值为null的参数,使用fastjson转换时,需要加 WriteMapNullValue

String jsonString = JSONObject.toJSONString(bodyDepart, WriteMapNullValue);
通过json参数化做复杂参数接口自动化过程

名称已经被参数

展开阅读全文

更新时间:2024-10-17

标签:参数   遍历   字段   变量   业务流程   结尾   接口   声明   名称   过程   文件   测试

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top