Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JMeter BSF断言-比较日期变量_Javascript_Date_Time_Jmeter_Assertion - Fatal编程技术网

Javascript JMeter BSF断言-比较日期变量

Javascript JMeter BSF断言-比较日期变量,javascript,date,time,jmeter,assertion,Javascript,Date,Time,Jmeter,Assertion,我正在尝试在JMeter中使用javascript进行BSF断言 在JMeter调试采样器中,我有以下两个变量: 插入日期=2013-11-11 16:22:33.000343 数据库创建日期1=2013-11-11 16:22:53.863187 我想比较一下,看看它们是否发生在相隔正负10秒的特定时间范围内 或者如果时差超过20秒 最好的方法是什么 我不知道是否应该使用Date.parse(dateVal) parse函数返回一个整数值,表示1970年1月1日午夜和dateVal中提供的日期

我正在尝试在JMeter中使用javascript进行BSF断言

在JMeter调试采样器中,我有以下两个变量: 插入日期=2013-11-11 16:22:33.000343 数据库创建日期1=2013-11-11 16:22:53.863187

我想比较一下,看看它们是否发生在相隔正负10秒的特定时间范围内 或者如果时差超过20秒

最好的方法是什么

我不知道是否应该使用Date.parse(dateVal) parse函数返回一个整数值,表示1970年1月1日午夜和dateVal中提供的日期之间的毫秒数

我一直在尝试使用BSF断言-javascript,但它不起作用:

if ((vars.put("my1",Date.parse(vars.get("db_created_date_1"))) - vars.put("my2",vars.get("insert_date")))  != 0) {
    AssertionResult.setFailure(true); 
    AssertionResult.setFailureMessage("ERROR: The difference between db_created_date value (${db_created_date_1}) ${my1} and the dateTime (${insert_date}) ${my2} is too great.");
}
断言结果: 断言错误:false 断言失败:true
断言失败消息:错误:db_创建的_日期值(2013-11-11 16:22:53.863187)NaN和日期时间(2013-11-11 16:22:53.863187)NaN之间的差异太大。

关于Javascript我不确定,但您的NaN看起来很奇怪。以下代码适用于我:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss");
long created = sdf.parse(vars.get("db_created_date_1")).getTime();
long insert = sdf.parse(vars.get("insert_date")).getTime();
long delta = Math.abs((created - insert));
if (delta > 20){
    //ka-boom
}