[英]JMeter BSF Assertion - comparing date variables
我在JMeter中使用javascript嘗試BSF斷言。
在JMeter Debug Sampler中,我有以下兩個變量: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,但它不起作用:
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_created_date值之間的差異(2013-11-11 16:22:53.863187)NaN和dateTime(2013-11-11 16:22:53.863187) )NaN太棒了。
我不確定Javascript,但你的NaN看起來很奇怪。 以下Beanshell代碼適合我:
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
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.