0

我是 jmeter 的新手。我正在尝试设置 JMS 点对点负载测试脚本。请求消息是固定长度格式。我需要一种从 csv 读取字段并以固定长度格式排列它们的方法。我尝试使用 javascript 切片函数,方法是使用 csv 数据配置变量并切片到所需的长度,将它们全部连接在一行中。但它不起作用。可能是我的方法是错误的。有关如何使其以固定长度格式工作的任何指示都会有所帮助。这是我尝试过的:

${__javascript(("      ".slice(-6))+(("0000000000000000"+${Var2}).slice(-16)) + (("                   " + ${Var3}).slice(-19))+(("   "+${Var4}).slice(-3))}

其中 Var1,Var2..Var4 来自 csv。

Jmeter版本:3.3

MQ:IBM Websphere MQ

只需一条输入消息,我就可以执行测试。我需要从 csv 和/或日期/时间函数中动态填充值,并以固定长度格式排列它们。

4

1 回答 1

1
  1. 您的代码中有错字,函数应该是__javaScript(注意大写S
  2. 您的方法应该有效,但是使用 JavaScript 效率极低,因为每次调用__javaScript() 函数时, JMeter 都会调用 Rhino 或 Nashorn 解释器,这可能会在高负载的情况下破坏您的测试。自 JMeter 3.1 起,鼓励用户使用__groovy() 函数编写脚本。
  3. 最后但并非最不重要的一点是,为了获得最佳性能,我建议使用__substring() 函数而不是您的slice()函数。您可以使用JMeter 插件管理器安装__substring()和其他自定义 JMeter 功能

    JMeter 自定义函数插件管理器

于 2018-02-27T11:39:22.730 回答