需要一些指导来设置或构建Grovy sample,Mq Broker和jmeter组合的测试计划

vx6bjr1n  于 2023-11-19  发布在  其他
关注(0)|答案(1)|浏览(74)

所有,我想得到一些建议和帮助,在结构我的测试计划,以实现我的目标,见下面的我的测试脚本大纲。
1.我有一个本地托管的MQ WebSphere服务器。
1.我有一个端点,它将接收HTTP请求并提供响应。
我想监视请求和响应所用的时间。
为了从队列中获取请求,我不得不使用JSR 223采样器在此示例中,我正在使用队列中的消息,我正在阅读该消息,提取消息并将其写入变量messageText。我想使用此变量并在我的http请求线程中使用它。一篇文章提到使用csv数据集配置。我尝试使用此Http控制器获取消息,我正在使用此Http控制器获取消息,我正在使用此控制器。无法获取。请求失败。
我面临的第二个问题是jsr223组消费者线程正在运行,然后在它完成迭代后运行http请求。
1.我希望能够有一个控制器,将控制请求用户和迭代,并为每一次迭代,它将从队列中获取消息,然后将该请求发送到端点,并取回消息和记录时间。每个用户都应该这样做。
1.我还想知道当运行这个性能测试时,我需要在批处理模式下运行它,对吗?有什么策略?
1.一个主要的事情是,我的身份验证,我只添加一次控制器,我的令牌每2小时过期一次.对于每个用户的每个请求,我假设我需要将他们视为尚未通过身份验证才能使用端点的真实的用户,并且需要进行身份验证,然后发送请求.试图了解我应该如何设置这一部分?
100d1x

的字符串
代码如下:

import com.ibm.mq.*
 def strQueueManagerName = "QM2"
def strChannelName = "CHANNEL1"
def strQueueName = "QUEUE1"
 def strServerName = "127.0.0.1"
def intPort = 1414

MQEnvironment.hostname = strServerName
MQEnvironment.channel = strChannelName
MQEnvironment.port = intPort
MQEnvironment.properties[MQC.TRANSPORT_PROPERTY] = MQC.TRANSPORT_MQSERIES

 try {
def mqQueueManager = new MQQueueManager(strQueueManagerName)

// Define a Queue
def queue = mqQueueManager.accessQueue(
    strQueueName,
    MQC.MQOO_INPUT_SHARED | MQC.MQOO_FAIL_IF_QUIESCING
)

def getOptions = new MQGetMessageOptions()
def retrievedMessage = new MQMessage()

// Read a message from the queue
queue.get(retrievedMessage, getOptions)

// Process the retrieved message
def messageBytes = new byte[retrievedMessage.messageLength]
retrievedMessage.readFully(messageBytes)

def messageText = new String(messageBytes, "UTF-8")  // Assuming the message is 
 encoded in UTF-8

// Log the message
log.info("Received message: " + messageText)

// Save the messageText to a variable
vars.put("messageTextVariable", messageText)

// Mark the message as removed from the queue
retrievedMessage.messageFlags = MQC.MQMF_NONE
retrievedMessage.correlationId = MQC.MQCI_NONE
queue.put(retrievedMessage)

queue.close()
mqQueueManager.disconnect()
} catch (Exception ex) {
log.error(ex.message)
 }

字符串


7y4bm7vi

7y4bm7vi1#

1.在从队列读取消息的JSR223采样器中将vars.put("messageTextVariable", messageText)更改为props.put("messageTextVariable", messageText)
1.将HTTP请求采样器中的${messageTextVariable}更改为__P()函数,如${__P(messageTextVariable,)}
更多信息:Using JMeter Variables With Multiple Thread Groups

相关问题