首页 > 解决方案 > 如何获取 2 个 DB 列值并将其与 JMeter 中的单个 JSON 元素进行比较

问题描述

下表是:
客户 ID 客户编号
1 ABC123
null DEF123

JSON 变量名称是 CustomerDetail:
在我的场景中,我想检查客户 ID 是否不为空,然后在 JSON 中,客户 ID 应该针对 CustomerDetails 显示。这意味着 CustomerDetails: "1"
如果客户 ID 为空,那么在 JSON 中客户编号应针对 CustomerDetails 显示。
这意味着 CustomerDetails: "DEF123"
如何使用 JSR223 断言在 JMeter 中执行此验证。

问题:对于 CutomerDetails(在 JSON 中)- 如果 CustomerID 不为空,则显示其值,否则显示客户编号的值。
在下面提供的代码中,我如何从 Db 获取两个列的值然后比较它们?

标签: jmeter

解决方案


您的问题不清楚,如果您按如下方式配置JDBC 请求采样器:

在此处输入图像描述

它将生成以下JMeter 变量

CustomerID_1=1
CustomerID_2=null
CustomerID_#=2
CustomerNumber_1=ABC123
CustomerNumber_2=DEF123
CustomerNumber_#=2

JSR223 断言中,您可以使用varsJMeterVariables 类实例的简写来访问变量值,例如:

1.upto(vars.get('CustomerID_#') as int, { index ->
    if (vars.get('CustomerID_' + index) == 'null') {
        //do something
    } else {
        //do something else
    }
})

推荐阅读