我最近有机会在IBM MQ测试上工作。因为,我是这个测试的新手。我参考了Stackoverflow中的多个博客来准备我们的代码。目前我参考了下面的博客代码来注入我的XML有效负载+ Rfh2头值(How to send message with RFH2 format?)。实际上我可以注入请求,但是我在侦听器中看不到任何响应。
我已经尝试添加下面的代码片段,但我得到“com.ibm.mq.MQMessage@1d3ef24d”作为输出。
SampleResult.setResponseData(message.toString())
SampleResult.setDataType( org.apache.jmeter.samplers.SampleResult.TEXT )
SampleResult.setLatency( stop.toEpochMilli() - start.toEpochMilli() )
我们需要消息id,把时间,把日期的细节在响应中。有人能请帮助如何提取这些值。
import com.ibm.mq.MQAsyncStatus
import com.ibm.mq.MQMessage
import com.ibm.mq.MQPutMessageOptions
import com.ibm.mq.MQQueueManager
import com.ibm.mq.constants.CMQC
import com.ibm.mq.constants.MQConstants
import com.ibm.mq.headers.MQRFH2
def mqProps = new Hashtable<String, Object>()
mqProps.put(MQConstants.CHANNEL_PROPERTY, 'xxxxxxxxx')
mqProps.put(MQConstants.PORT_PROPERTY, 1414)
mqProps.put(MQConstants.HOST_NAME_PROPERTY, 'XXXXXXXXX')
def qManager = 'QM1'
def queueName = 'DEV.QUEUE.1'
def qMgr = new MQQueueManager(qManager, mqProps)
def openOptions = MQConstants.MQOO_OUTPUT | MQConstants.MQOO_INPUT_AS_Q_DEF
def queue = qMgr.accessQueue(queueName, openOptions)
def pmo = new MQPutMessageOptions()
pmo.options = MQConstants.MQPMO_ASYNC_RESPONSE
def message = new MQMessage()
message.format = CMQC.MQFMT_RF_HEADER_2
def rfh2 = new MQRFH2()
rfh2.setEncoding(CMQC.MQENC_NATIVE)
rfh2.setCodedCharSetId(CMQC.MQCCSI_INHERIT)
rfh2.setFormat(CMQC.MQFMT_STRING)
rfh2.setNameValueCCSID(1208)
rfh2.setFieldValue('usr', 'Test', 'Country')
rfh2.write(message)
message.writeString('''${request_payload}''')
queue.put(message, pmo)
queue.close()
1条答案
按热度按时间wz3gfoph1#
如果要将生成的消息显示为JSR223采样器的响应数据,则需要执行以下操作:
更多信息: