Javascript JMeter BSF断言-比较日期变量
我正在尝试在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,但它不起作用: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中提供的日期
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
}