JMeter自定义Java采样器

JMeter自定义Java采样器,java,jmeter,performance-testing,Java,Jmeter,Performance Testing,我创建了一个自定义JMeterJava采样器。它做了我期望它做的事情,但是,我想正确地填充SampleResult 特别是,我想手动设置接收到的KB/秒。有没有一种方法可以通过SampleResult类或其他端点实现这一点 在SampleResult类中,有一个setBytes和一个setSentBytes方法,但没有received bytes方法: 为什么不喜欢setBytes()t方法?根据: 公共空白收进字节(长) 如果采样器确实希望传回实际内容,我们仍然希望计算吞吐量字节是响应数据的字

我创建了一个自定义JMeterJava采样器。它做了我期望它做的事情,但是,我想正确地填充SampleResult

特别是,我想手动设置接收到的KB/秒。有没有一种方法可以通过SampleResult类或其他端点实现这一点

在SampleResult类中,有一个setBytes和一个setSentBytes方法,但没有received bytes方法:

为什么不喜欢
setBytes()
t方法?根据:

公共空白收进字节(长)

如果采样器确实希望传回实际内容,我们仍然希望计算吞吐量字节是响应数据的字节。

参数:

length—此示例的响应数据的字节数

我想你熟悉导游吧



就我个人而言,我不太喜欢开发“采样器”,因为在99.9%的情况下,同样的采样器可以使用和实现,这样您就不必花费额外的时间和精力来开发、支持和排除插件,因为您可以跳过编译、打包、将新类添加到JMeter类路径等阶段,重新启动JMeter等。因此,JSR223方式更快、更方便,因为您可以直接在JMeter GUI中开发代码。

您是否尝试过
public int getBytes()
?我想手动设置它。如果构建自定义Java采样器,它不会自动填充这些字段。如果您使用现有的采样器,而不是您自己构建的采样器,那么getBytes将起作用。您可以显示经过消毒的代码版本(特别是格式化SampleResult的部分)吗?我认为
getBytesAsLong()
应该适合您(
getBytes()
实际上已经被删除),但我不确定您之前的评论是什么意思。我现在做的是发出docker命令来提取图像。不过,shell进程不一定会返回一个响应,该响应会给出字节数。然而,我想人工推断,如果进程成功完成,我们将下载x个字节。从那里JMeter可以为我们计算其他的统计数据。我看了一下测试元素-这不允许对逻辑进行足够的定制。从我所看到的情况来看,它可以很好地与独立脚本配合使用,但是如果您有第三方依赖项,那么它的伸缩性就不太好。