【问题标题】:Karate- Need help to assert a single dimension array for date range空手道 - 需要帮助来断言日期范围的单维数组
【发布时间】:2019-09-20 03:19:24
【问题描述】:

我正在尝试断言一维数组中的值。我曾尝试使用 match,但似乎无法断言日期范围。

下面是对象数组:

[
"2019-04-24T17:41:28",
"2019-04-24T17:41:27.975",
"2019-04-24T17:41:27.954",
"2019-04-24T17:41:27.93",
"2019-04-24T17:41:27.907",
"2019-04-24T17:41:27.886",
"2019-04-24T17:41:27.862",
"2019-04-24T17:41:27.84",
"2019-04-24T17:41:27.816",
"2019-04-24T17:41:27.792"
]

我正在尝试断言以下日期范围之间的每个值:

MinDate:2019-04-24T17:25:00.000000+00:00
MaxDate:2019-04-24T17:50:00.000000+00:00

我尝试了以下方法,但都没有效果:

* match dateCreated == '#[]? _.value >= fromDate'
 * eval for(var i = 0; i < responseJson.response.data.TotalItemCount; i++) dateCreated.add(responseJson.response.data.Items[i].DateCreated)  karate.assert(dateCreated[i] >= fromDate)

关于如何进行的任何提示/提示。

【问题讨论】:

    标签: automation karate


    【解决方案1】:

    给你:

    * def dateToLong =
    """
    function(s) {
      var SimpleDateFormat = Java.type('java.text.SimpleDateFormat');
      var sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
      return sdf.parse(s).time;
    } 
    """
    * def min = dateToLong('2019-04-24T17:25:00.000')
    * def max = dateToLong('2019-04-24T17:50:00.000')
    * def isValid = function(x){ var temp = dateToLong(x); return temp >= min && temp <= max }
    
    * def response =
    """
    [
    "2019-04-24T17:41:27.975",
    "2019-04-24T17:41:27.954",
    "2019-04-24T17:41:27.93",
    "2019-04-24T17:41:27.907",
    "2019-04-24T17:41:27.886",
    "2019-04-24T17:41:27.862",
    "2019-04-24T17:41:27.84",
    "2019-04-24T17:41:27.816",
    "2019-04-24T17:41:27.792"
    ]
    """
    * match each response == '#? isValid(_)'
    

    如果您对任何关键字有疑问,请参阅文档。我删除了列表中的第一个日期,因为它不一致,但如果需要,你有足够的信息来处理它 - 你可能需要一些条件逻辑。

    【讨论】:

    • 谢谢彼得!。这行得通。我在想一个非常不同的方向。就像在带有“for”循环的自定义函数中断言一样。但这很完美。
    • @rahulqelfo 我的建议是永远不要在空手道中使用 JS 循环,这会导致代码混乱。除了match each 习惯于映射、过滤和forEach:github.com/intuit/karate#json-transforms
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-16
    • 1970-01-01
    • 1970-01-01
    • 2016-10-22
    • 2013-09-23
    • 2021-05-12
    • 1970-01-01
    相关资源
    最近更新 更多