【发布时间】:2018-11-02 13:54:55
【问题描述】:
我通过 JMS Publisher (JMS Publisher screenshot) 发送请求(来自文件的字节),通过 JMS Subscriber 读取响应 (JMS Subscriber screenshot) 并尝试以这种方式通过 BeanShell Assertion 比较请求和响应数据(BeanShell Assertion screenshot):
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Arrays;
Path path = Paths.get("${pathToTesting}/queries/randomBytes/randomBytes.dat", new String[0]);
byte[] originalArray = Files.readAllBytes(path);
byte[] changedArray = ctx.getPreviousResult().getResponseData();
System.out.println(changedArray.length);
if (Arrays.equals(originalArray, changedArray))
{
System.out.println("same!");
} else {
System.out.println("diff!");
SampleResult.setSuccessful(false);
SampleResult.setResponseMessage("Comparison failed");
SampleResult.setResponseData("Byte arrays has changed after sending through connectors","UTF-8");
IsSuccess=false;
}
在查看结果树中(在 JMS 订阅者中)我看到了
在 BytesMessage 中接收到 5000 个字节
问题是如何获得 ACTUAL 5000 字节(不是消息“在 BytesMessage 中收到 5000 字节”)并将其与我通过 JMS Publisher 发送的原始字节进行比较?
我需要重新配置采样器\断言或只是重构代码?
我会感谢任何帮助和相关链接
【问题讨论】:
标签: java arrays jmeter jms publish-subscribe