【问题标题】:How to convert Jmeter Reponse data in to Byte? How to store the Byte value into CSV file?如何将 Jmeter 响应数据转换为字节?如何将字节值存储到 CSV 文件中?
【发布时间】:2017-03-20 15:48:09
【问题描述】:

我们的新要求是我们需要在两个不同的环境 1 和环境 2 上运行脚本 A。

所以我们需要将响应数据转换为on Byte 并存储到Csv 文件中。稍后我们需要比较不同环境下的两个字节结果。

但是现在我们需要知道如何将 Response 数据转换为 Byte 并将字节值存储在一个文件中?

任何人都可以帮助我们

【问题讨论】:

  • 好吧,你觉得发布一些你们制作的代码怎么样?那么,我们就可以开始讨论了……
  • 实际上我们现在没有任何代码,我们需要编写,但在此之前我们需要一些想法以及如何转换为字节?

标签: java jmeter javabeans performance-testing beanshell


【解决方案1】:

不推荐存储响应数据,因为它会导致高磁盘 IO 开销。我建议稍微修改您的设计,即

  1. 切换到 HTTP 请求采样器的“高级”选项卡并勾选框 Save repsonse as MD5 hash

  2. 运行测试时,您会看到MD5 checksum09b9c392dc1f6e914cea287cb6be34b0 一样。这个想法是相等的响应将具有相等的 MD5 哈希值,并且存储哈希值是一个更轻量级的过程。

请注意,如果响应不等于预期,您也可以使用MD5Hex Assertion 自动使采样器失败,请查看How to Use JMeter Assertions in Three Easy Steps 了解详情。

【讨论】:

  • 嗨 Dmitry,Wea 实现了 MD5HEX,我们得到像 09b9c392dc1f6e914cea287cb6be34b0 这样的哈希值,但是每次我们得到不同的值,所以在使用 MD5Hex Assertion 时,由于每次值都在变化,我们会收到失败响应。
  • 是否可以将响应数据存储到文件中?使用 Bean shell 后处理器?
  • 就是,相关代码如org.apache.commons.io.FileUtils.writeByteArrayToFile(new File("response.txt"), data);一样简单。详细解释和示例见How to Use BeanShell: JMeter's Favorite Built-in Component
  • 导入 org.apache.jmeter.services.FileServer; // 从 JMeter 脚本中获取变量 tempVar = vars.get("FiltersByPersonPeoplegeopage") // 打开文件 f = new FileOutputStream(FileServer.getFileServer().getBaseDir()+"\\sampletest.csv “, 真的); p = 新的打印流(f); // 将数据写入文件 p.println( tempVar ); // 关闭文件 p.close();f.close();我们在上面实现了它能够存储数据但是每次第一个值都存储 null,为什么它存储我需要删除的空值,我们知道如何删除空值
  • 变量${FiltersByPersonPeoplegeopage} 没有任何价值。用if (vars.get("FiltersByPersonPeoplegeopage") != null) { //your code here} 包装你的代码。如果您需要保存 JMeter 变量值,我建议您使用 Sample Variables 属性。将sample_variables=FiltersByPersonPeoplegeopage 行添加到 user.properties 文件中,JMeter 会将其值存储在结果文件中。详情见Apache JMeter Properties Customization Guide
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多