【问题标题】:How to extract value from Jmeter get property and save as variables. These values will be used in api call如何从 Jmeter 获取属性中提取值并保存为变量。这些值将在 api 调用中使用
【发布时间】:2019-03-07 22:04:57
【问题描述】:

getproperty values passed from Thread Group 1 to Thread group2

Result from BeanShell assertion

  • 第 1 步 - 使用 jdbc 请求从具有 2 列和多行的数据库中获取数据。
  • 第 2 步 - 从 ThreadGroup 1,使用 ${__setProperty(StateCodeProperty,${stateDetails})} 将属性设置为数据库结果;

  • 第 3 步 - 通过使用 beanshell 断言获取属性访问线程组 2 - String result = (vars.get("${__property(StateCodeProperty)}"));我需要有关如何分隔列并在 api 调用中使用它的帮助。 ——

【问题讨论】:

  • 欢迎来到 SO!您能否发布您的测试计划,请注意 JMeter 变量具有线程范围,无法访问在另一个线程组中的一个组中创建的变量
  • 为什么要在第一个线程组中获得数据库结果?你不能在第二次做同样的事情吗?
  • 我想运行多个线程。将数据库分离到不同的线程组只会访问一次数据库,否则它将为每个线程调用。

标签: jmeter jmeter-5.0


【解决方案1】:

无论如何,如果您想访问不同线程组中的数据库结果,那么您可以尝试在 beanshell 断言中执行类似的操作(虽然不确定)-

ArrayList results = ${__property(StateCodeProperty)}; //it should return the object as an arraylist
for (int i; i < results.size(); i++) {     

    if (results.get(i).get("statecode").equals("NY")) { //iterating the results, 'statecode' is the name of your 1st column, similarly you can do for 'State'

        //Do your comparisons or whatever you like here             
    }      
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多