我正在尝试设置从 JSR223 Groovy Assertion 中的 Jmeter 属性中提取的 Jmeter 变量。
我感兴趣的 Jmeter 属性如下所示:
... created_blob_A_6= fde65de0-3e32-11e8-a5b4-3906549016d8 created_blob_A_8= fef92d70-3e32-11e8-a5b4-3906549016d8 created_blob_A_9= ff775e20-3e32-11e8-bac3-e51250ffea15 created_blob_B_1= fd7302a0-3e32-11e8-a5b4-3906549016d8 created_blob_B_10= 00141350-3e33-11e8-bac3-e51250ffea15 ...
为了从 Jmeter 属性中提取值,我创建了 JSR223 Groovy 以下断言脚本:
def readParamPrefix = 'created_blob'
def writeParamPrefix = 'blob_to_delete'
def chucnkTypes = 'A'..'E'
def newBlobCounter = 1
chucnkTypes.each{ chunkLetter ->
(1..10).each{ streamNumber ->
String readParamName = readParamPrefix + '_' + chunkLetter + '_' + streamNumber
log.info('Read param name: ' + readParamName)
String writeParamName = writeParamPrefix + '_' + newBlobCounter
log.info('Write param name: ' + writeParamName)
String blob_id_to_delete = props.get(readParamName).toString().trim()
log.info('' + readParamName + ' => ' + writeParamName + ' (' + blob_id_to_delete + ')')
vars.put(writeParamName.toString(), blob_id_to_delete.toString())
newBlobCounter++
}
}
该脚本不适用于 JMeter 变量,但适用于 JMeter 属性。以下是 JMeter 属性的样子:
JMeterProperties: ... blob_to_delete_1=9b1c4f40-3e36-11e8-a5b4-3906549016d8 blob_to_delete_10=9da5e050-3e36-11e8-bac3-e51250ffea15 blob_to_delete_11=9b235420-3e36-11e8-bac3-e51250ffea15 blob_to_delete_50=9b656630-3e36-11e8-bac3-e51250ffea15
你能告诉我,如何修复我的代码以正确设置 JMeter 变量?