【问题标题】:Unable to fetch value from JSR223 Sampler无法从 JSR223 采样器中获取值
【发布时间】:2018-04-09 07:04:35
【问题描述】:

我在 Jmeter 中有一个 JSR223 采样器,代码如下:

import com.jayway.jsonpath.JsonPath
import org.apache.commons.lang3.RandomUtils
import org.apache.jmeter.samplers.SampleResult

def options = JsonPath.read(prev.getResponseDataAsString(), '$.options')

if(options.size() == "1" || options.size() == "2") {

    def randomOption = options.get(0)
    def code = randomOption.get("code")
    vars.put('code1', code)

    def values = randomOption.get('values')
    def randomValue = values.get(RandomUtils.nextInt(0, values.size()))
    def value = randomValue.get('value')
    vars.put('valueF', value)

    def options2 = JsonPath.read(prev.getResponseDataAsString(), '$.options')
    def randomOption2 = options2.get(1)
    def code2 = randomOption2.get("code")
    vars.put('code2', code2)

    def values2 = randomOption2.get('values')
    def randomValue2 = values2.get(RandomUtils.nextInt(0, values.size()))
    def value2 = randomValue2.get('value')
    vars.put('valueF2', value2)

}

else {
    vars.put('no loop','Not enterd into loop')
}

vars.put('counts',new 
groovy.json.JsonSlurper().parse(prev.getResponseData()).options.size() as 
String)

def size = com.jayway.jsonpath.JsonPath.read(prev.getResponseDataAsString(), 
'$.options_available')

if (size == []) {
    vars.put('size', 'NonConfigurable')
} 

else {
    vars.put('size', 'Configurable')
}

我无法在采样器之外获取 code1 和 valueF 、 code2 和 valueF2 的值。任何可能的帮助表示赞赏!

【问题讨论】:

标签: jmeter jmeter-3.2 jsr223


【解决方案1】:

尝试修改这一行:

def value = randomValue.get('value')

def value = randomValue.get('value') as String

同样适用于“代码:

def code = randomOption.get("code") as String

当您遇到 JMeter 问题时,习惯于查看 jmeter.log 文件,在大多数情况下,它应该包含足够的故障排除信息。

如果您需要有关该主题的进一步帮助,请使用您尝试解析的完整响应更新它。同时:

【讨论】:

  • 试过了,没用。
【解决方案2】:

JSONArray 大小应使用length(),更改代码

if(options.length() == 1 || options.length() == 2) {

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-05
    • 2019-01-06
    • 1970-01-01
    相关资源
    最近更新 更多