• Jmeter接口自动化-16-Jmeter中BeanShell中怎么创建List对象


    一、Jmeter发起请求参数中key-value中value为数组的形式,我们该如何创建

    首先看下面的Java编译器中的java代码

    我们的请求参数形式:

    {
        "terminal":"aaaaaa",
        "platform":"1",
        "channel":"xxxxxxxx",
        "loginId":"xxxxxxxxx",
        "deviceId":"xxxxxxxxxxxxxxxxx",
        "v":"v1.1.1.1",
        "businessGroup":[
            {
                "businessCode":"111",
                "storeGroup":[
                    {
                        "storeId":11111,
                        "venderId":11111,
                        "skuList":[
                            111111111,
                            111111111
                        ]
                    }
                ]
            }
        ]
    }

    idea编写入参代码:

    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    public class Test01 {
    
        public static void main(String[] args){
    
            Map myMap = new HashMap();
            Map subMap = new HashMap();
            Map subStore = new HashMap();
            List<Object> businessGroupRes = new ArrayList<Object>();
            List<Object> storeGroupRes = new ArrayList<Object>();
            List<String> sku=new ArrayList<String>();
    
            sku.add("${skuId}");
    
            subStore.put("storeId","${storeId}");
            subStore.put("venderId","${venderId}");
            subStore.put("skuList",sku);
            storeGroupRes.add(subStore);
    
            subMap.put("businessCode","1");
            subMap.put("storeGroup",storeGroupRes);
    
            businessGroupRes.add(subMap);
    
    
            myMap.put("terminal","devtools");
            myMap.put("channel","miniprograms");
            myMap.put("platform","9");
            myMap.put("loginId","${loginId}");
            myMap.put("deviceId","${deviceId}");
            myMap.put("v","${version}");
            myMap.put("businessGroup",businessGroupRes);
            System.out.println(myMap);
        }
    }

    打印:

    {loginId=${loginId}, businessGroup=[{businessCode=111, storeGroup=[{skuList=[${skuId}], venderId=${venderId}, storeId=${storeId}}]}], v=${version}, channel=miniprograms, terminal=devtools, deviceId=${deviceId}, platform=11111}

    二、我们将idea编写的代码移入jmeter的BeanShell中

    运行发现,从这行开始报错:

    List<Object> businessGroupRes = new ArrayList<Object>();
    List<Object> storeGroupRes = new ArrayList<Object>();
    List<String> sku=new ArrayList<String>();

    分析得知:

    Jmeter中的BeanShell不支持变量的引用

    去掉<>

    List businessGroupRes = new ArrayList();
    List storeGroupRes = new ArrayList();
    List sku=new ArrayList();

    再次运行即可完美解决错误!!!

    当有些人一出生就有的东西,我们要为之奋斗几十年才拥有。但有一样东西,你一辈子都不会有,那就是我们曾经一无所有。
  • 相关阅读:
    Power Designer如何批量改动数据类型
    javaWeb中URLEncoder.encode空格问题
    android不同机型上界面适配问题
    Linux命令之编辑
    Android fragment 切换载入数据卡顿问题
    oracle中设置了最大链接数还是报错
    [Erlang]Erlang经常使用工具解说
    云计算设计模式(二十三)——Throttling节流模式
    iOS 8 Share Extension Safari URL Example(在iOS中分享url的样例)
    CentOS下配置HTTPS訪问主机并绑定訪问port号
  • 原文地址:https://www.cnblogs.com/chushujin/p/14320448.html
Copyright © 2020-2023  润新知