私はJSOn文字列を生成するHTTPサンプラを持っています。私はUserParameter pollOverを更新するために、グルーヴィーJSonSlurperを使用してJSONフラグメントを解析:JMeter JSR223ポストプロセッサがユーザパラメータを更新しない
2017-09-13 13:03:54,296 INFO o.a.j.e.JSR223PostProcessor: response = [response:[version:1505333033161, data:138bdb6e-f0e9-48c0-8dd6-5bb14154d816, startTime:1505333033161, endTime:1505333033264, My Service, isError:false, operationIdList:[2ca8719c-152c-4baa-8cfc-8ec1022cdc09], progress: created successfully, rootId:570ef302-89a2-4bc1-bd1a-4d06fba306a0, id:570ef302-89a2-4bc1-bd1a-4d06fba306a0], version:1.0]
2017-09-13 13:03:54,296 INFO o.a.j.e.JSR223PostProcessor: isError = false
2017-09-13 13:03:54,296 INFO o.a.j.e.JSR223PostProcessor: error = false
2017-09-13 13:03:54,296 INFO o.a.j.e.JSR223PostProcessor: data = 138bdb6e-f0e9-48c0-8dd6-5bb14154d816
2017-09-13 13:03:54,296 INFO o.a.j.e.JSR223PostProcessor: pollOver = true
:グルーヴィーなポストプロセッサからのログは、それが正しい値を持っていることを示しているが
import groovy.json.JsonSlurper
def jsonSlurper = new JsonSlurper()
def response = jsonSlurper.parseText(prev.getResponseDataAsString())
def isError = response.response.isError
def error = isError ? "true":"false"
def data = response.response.data
def pollOver = data?.trim() || isError
log.info("response = " + response)
log.info("isError = " + isError)
log.info("error = " + error)
log.info("data = " + data)
log.info("pollOver = " + pollOver)
vars.put("pollOver", pollOver ? "true":"false")
vars.put("data", data)
vars.put("error", error)
は、残念ながら、ユーザーパラメータpollOverは、更新されることはありません
私はユーザー定義変数としてpollOverを定義するとうまくいきます。もちろん、別のスレッドではXが区別される必要があるため、UDVではなくUser Parametersを使用することをお勧めします。
ここに私が行方不明になっている問題がありますか? JSR223 groovyポストプロセッサでvars.put(...)を使用してユーザーパラメータを更新できませんか?
ここ終了UDVによって決定される「pollOver」(pollOverが「サイトパラメータを作成」UDVセクションで定義されている)一方のコントローラである。 [コントローラUDVに応じながら] [3]
はこちらコントローラを終了するためにUDV pollOverを更新後処理: [ここで、画像の説明を入力] [4]
ありがとう、
R
画像の掲載に問題があります。ここで私の言葉の説明は次のとおりです:(単純なコントローラ{(UDV pollOver){(コントローラはpollOverに依存します){(HTTPサンプラ){JSR223 groovyポストプロセッサはpollOverを更新します}}}} postprocessor dipslay pollOverはlogでは正しくpollOver UDVは "false"のままであり、結果としてループは終了しません。 – Maverick