gpt4 book ai didi

Jmeter : How to initialize map once and share it for all threads in a thread group

转载 作者:行者123 更新时间:2023-12-01 02:11:51 31 4
gpt4 key购买 nike

我的 中有一个线程组j-meter测试计划我想预先初始化两个 map 。喜欢

java.util.HashMap myMap1 = new java.util.HashMap();
myMap1.put("foo1","bar1");
myMap1.put("foo2","bar2");

java.util.HashMap myMap2 = new java.util.HashMap();
myMap2.put("mykey",myMap1);

我必须将它用于不同的线程。谁能帮我解决这个问题?

最佳答案

根据您用于脚本编写的测试元素,可能有 2 个选项:

  • 如果您使用 Beanshell Sampler - 最简单的选择是使用 bsh.shared命名空间作为

    在第一个线程组中:
    Map myMap1 = new HashMap();
    myMap1.put("foo","bar");
    bsh.shared.myMap = myMap1;

    在第二个线程组中:
    Map myMap1 = bsh.shared.myMap;
    log.info(myMap1.get("foo"));
  • 更“通用”的方式是使用 JMeter 属性。 JMeter 属性的当前实例的简写形式为 props在任何启用脚本的测试元素(JSR223 采样器、BSF 采样器等)中,它基本上是 java.util.Properties 的一个实例。因此它具有 put() 方法,该方法接受任意 Java 对象作为值。所以

    在第一个线程组中:
    Map myMap1 = new HashMap();
    myMap1.put("foo","bar");
    props.put("myMap", myMap1);

    在第二个线程组中:
    Map myMap1 = props.get("myMap");
    log.info(myMap1.get("foo"));
  • 关于Jmeter : How to initialize map once and share it for all threads in a thread group,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28667316/

    31 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com