首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JMeter BSF断言-比较日期变量

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

Stack Overflow用户
提问于 2013-11-21 05:56:26
回答 1查看 3.3K关注 0票数 4

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

在JMeter调试采样器中有以下两个变量: insert_date=2013-11-11 16:22:33.000343 db_created_date_1=2013-11-11 16:22:53.863187

我想对它们进行比较,看看它们是在一个特定的时间范围内发生的,还是在正负10秒的特定时间范围内发生的-或者时间差是否超过20秒。

做这件事最好的方法是什么?

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

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

代码语言: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.");
}

断言结果: Assertion ERROR: false Assertion failure: true Assertion failure message: error: db_created_date值(2013-11-11 16:22:53.863187) NaN与dateTime (2013-11-11 16:22:53.863187) NaN相差太大。

EN

回答 1

Stack Overflow用户

发布于 2013-11-21 23:50:42

我不确定是不是Javascript,但是你的NaNs看起来很奇怪。下面的Beanshell代码适用于我:

代码语言:javascript
复制
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
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20107882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档