zoukankan      html  css  js  c++  java
  • 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();

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

    当有些人一出生就有的东西,我们要为之奋斗几十年才拥有。但有一样东西,你一辈子都不会有,那就是我们曾经一无所有。
  • 相关阅读:
    【CodeForces】[659C]Tanya and Toys
    【CodeForces】[659A]Round House
    高并发网络编程之epoll详解
    Linux写时拷贝技术(copy-on-write)
    5种服务器网络编程模型讲解
    5种服务器网络编程模型讲解
    当你输入一个网址的时候,实际会发生什么?
    error: std::ios_base::ios_base(const std::ios_base&)’是私有的
    C++和JAVA的区别
    为什么内联函数,构造函数,静态成员函数不能为virtual函数
  • 原文地址:https://www.cnblogs.com/chushujin/p/14320448.html
Copyright © 2011-2022 走看看