我在csv文件中有时间戳值,我正在jMeter中的ThreadGoup中加载该文件。我使用JSR223脚本来计算每个线程之间的延迟时间,但我很难做到这一点。
我想启动没有真实数据的线程,这就是我使用 csv 日志文件中的时间戳的原因。但我不知道如何为此配置等式。我正在脚本中的 csv 读取时间戳,我知道等待时间应该等于当前时间戳值 - 以前的线程时间戳值,但我如何实现这一点?
def long wait=0;
// this returns the currents threads timestamp value from the csv
def long ts = Double.valueOf(vars.get("timestamp")).longValue();
wait = ts - {previous timestamp in csv}
return wait;
我正在使用groovy编写脚本,在我的线程组中我有httpRequest和JSR223定时器。有什么想法吗?
习惯于查看jmeter.log文件——通常它应该包含Groovy(或jmeter)测试错误或失败的原因。通过单击JMeter GUI右上角的黄色三角形,可以打开Log Viewer窗口
将代码修改为:
if (vars.get('previousTimestamp') != null) {
long ts = vars.get('timestamp') as Long
long wait = ts - (vars.get('previousTimestamp') as Long)
return wait
} else {
vars.put('previousTimestamp', vars.get('timestamp') as String)
//return 1000
}
逻辑是:
previousTimestamp
变量 - “sleep”表示上一个时间戳和当前时间戳之间的增量时间previousTimestamp
变量 - 将当前时间戳
变量存储为 previousTimestamp
并且不Hibernate。您可以取消注释,返回 1000
行以提供 1 秒的“默认”睡眠以防万一,请查看Groovy指南中的数学函数和转换数据类型,它应该会让您更深入地了解您试图实现的内容。
您的代码应该是:
// this returns the currents threads timestamp value from the csv
long ts = vars["timestamp"].toLong();
long wait = ts - {previous timestamp in csv}
return wait;
我不明白这一价值的来源:
{csv中的上一个时间戳}
最后,你需要了解计时器是如何工作的:
所以如果你真的想在采样器之间应用它,确保你把你的定时器作为流量控制动作的子:
问题内容: 我想创建一种秒表,当分钟数达到20分钟时,会弹出一个对话框,该对话框不是问题。但是我的分钟变量在此代码中没有增加。 问题答案: 您可以使用以下方法真正简化整个程序:
当您在网站或应用程序上执行任何操作时,它们自然会有暂停和延迟。 这些可以使用计时器(Timers)进行模拟。 JMeter发送请求时不会在每个采样器/请求之间应用延迟。 如果在服务器上执行负载/压力测试没有指定延迟,它将会超载。 这可能不完全是我们想要的。可以添加一个计时器元素,该元素允许您定义在每个请求到达时间等待的终止。 下面给出了JMeter提供的所有计时器元素的列表: 同步定时器 JSR2
我使用以下方式安装Gatsbyjs: 它安装,然后当我试图创建一个新的网站,它显示一些错误。 我尝试了盖茨比新网站,但它显示了一些错误: PS C:\Users\Klawnny\Dropbox\react电子商务 gatsby-cli@2.7.53更新了一个包在46.004s PS C:\用户\克劳尼\Dropbox\电子商务与反应 文件C:\Users\Klawnny\AppData\Roami
我对编码相当陌生,所以这可能是一个愚蠢的问题,但我找不到任何解决方案。我想计算到日期之间的差异(以天为单位)。它在大多数情况下都有效,但当月份发生变化时,我会得到奇怪的解决方案<第一个例子: 今天-2018年9月30日=78天, 今天-2018年9月31日=79天(?) 今天-2018年10月1日=80天 第二个例子: 今天-2018年8月31日=49天, 今天-2018年9月1日=49天 密码
我最近在VSCODE中调试时遇到了一个很大的问题。我已经试着通过搜索网站和重新安装我的一些扩展来修复它。 它不会在调试控制台中显示结果,而是将以下输出写入终端:
问题内容: 我正在尝试玩 文件如此[处(1)])和here(2)所述。 (1)一个不好的例子: 第一种方法可行,但我不想依赖某些东西。第二个结果是仅播放了一些前导帧,听起来更像是单击。从ByteArrayInputStream播放时,不会是IO问题。 请与您分享为什么会发生这种情况。TIA。 问题答案: 我不确定为什么您链接的第二种方法会启动另一个线程;我相信音频还是会以自己的方式播放。剪辑播放完
我正在尝试在tkinter自定义标题栏。 使用以下代码: null 我希望能够添加一个最小化按钮。我尝试用 作为命令创建一个类似于关闭按钮的按钮,但它不能与 一起工作。 null 此外,移动有一个很大的问题,当你尝试移动窗口时,它会移动窗口,使其左上角位于光标所在的位置。这是非常恼人的,也不是Windows的典型行为。 如果有人知道如何解决这些问题,我们将不胜感激。 编辑:我现在已经成功地制作了一
问题内容: 我想要一个每2秒更改一次自己的私有变量的类。我知道如果我做类似的事情 它会在2秒后执行,是否有办法告诉它每2秒执行一次操作,或者,如果我将其放入 能行吗 在旁注中,确切的作用是什么? 问题答案: 使用安排它每两秒钟复发: 从指定的时间开始计划指定的任务以重复执行固定速率。随后的执行大约每隔固定的时间间隔执行一次,并间隔指定的时间。 从javadoc中获取: 终止此计时器,放弃任何当前计