jmeter - 在 JMeter 中,如何向 JMS 发布者发送 4 字节消息
问题描述
不要以为这是专门问这个的。
我必须对使用 ActiveMQ 主题的应用程序运行性能测试。采样器需要将 4 字节的数据发布到主题中,通常格式为(如果您查看十六进制值)0x006403D6。
如果将它们转换为小数,它们将是
0x03D6 = 00000011 11010110 ==> 982 ==> 03,D6 ==> 03, 214 ==> 3,214 0x0064 = 00000000 01100100 ==> 100 ==> 00,64 ==> 00, 100 ==> 0,100
所以上面的例子中 4 个字节是 [0,100,3,214]。
为了完成这项工作,我使用了 JMSPublisher。
下面是配置:
因为我必须发送一个字节流,所以我想使用文件中的 ByteMessage。
我在上面尝试了配置文件中的不同内容。但 non 会给我 [0,100,3,214]。
看起来 JMeter 确实将文本、字符转换为字节值。因此,如果我有一个空文件,主题将显示为 0,应用程序会将其视为 [0,0,0,0](应用程序仅考虑前 4 个字节)
如果我有 ????在文本文件中我得到 [63,63,63,63] (作为 ? ==> 00111111 ==> 63 十进制)。但是如果我必须让第一个字节为 0,我无法通过它吗?因为我找不到代表 0 的字符。
可能有更好的方法来做到这一点。请指教 ?
解决方案
查看JMS Sampler JavaDoc,该setContent()
函数仅接受 String ,因此无法将字节传递给它,因为 JMeter 会将它们视为简单字符串。
但是,根据JMS Publisher 文档,您应该能够发送您想要的任何内容,因为该对象已由XStream序列化
Object 消息的实现和工作方式如下:
将包含您的对象及其依赖项的 JAR 放在 jmeter_home/lib/ 文件夹中
使用 XStream 将对象序列化为 XML
将结果放入以 .txt 或 .obj 为后缀的文件中,或将 XML 内容直接放入文本区域
请注意,如果消息在文件中,则不会发生属性替换,而如果您使用文本区域则会发生。
另请注意,您始终可以切换到JSR223 Sampler并使用Groovy代码中的ByteMessage类。
推荐阅读
- ios - iOS 顶部导航栏
- assembly - 如何在仅使用 mov 指令的情况下反转 16 位寄存器 di、si、bp 和 sp 的顺序?
- macos - 无法禁用代理以在 OS X 上安装 Homebrew
- puppeteer - 使用 button.click() 提交后等待表单响应
- android - 在 AndroidX Fragment 中禁用后退按钮
- java - 将对象中的值获取到地图中
- python - 根据 textContent 获取 CSS-selector 或 XPath
- c++ - 如何使用 cmake 从 Visual Studio 构建 ia32 解决方案
- reactjs - 调度动作后如何防止redux生成相同属性的子对象
- jquery - Wampserver 无法连接到 API