当前位置: 首页 > 知识库问答 >
问题:

空手道-需要帮助为日期范围断言单个维度数组

饶铭
2023-03-14

我试图断言一维数组中的值。我尝试使用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)

关于如何去做的任何提示/提示。

共有1个答案

柳逸春
2023-03-14

干得好:

* 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(_)'

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

 类似资料:
  • 问题内容: 我希望得到一些帮助,以帮助我编写一些自己编写的SQL语句。 我有一张数据表: 我需要获得以下信息: 换句话说,按日期划分日期范围。在SQL中甚至可能吗? 我的数据库是Oracle 11G R2,由于某些情况,我担心不能使用PL / SQL。 问题答案: 可以在SQL中执行此操作。有两个技巧。首先是生成一系列数字,您可以使用进行CTE处理。 第二个是将正确的逻辑放在一起以扩展日期,同时保

  • 我已经运行了db查询,得到了下面的json响应 *def dataset=数据库ethods.runJsonQuery(结果,查询)然后打印数据集 输出:[{"帐号:"123","钥匙":"9989"},{"帐号:"345","钥匙":"9889"},{"帐号:"569","钥匙":"9989"}] 现在我想对输出中的每一个和每一个值做一些断言,比如notnull、null、present等 我写

  • 我有一个棘手的身份验证问题,需要多次调用才能最终获得一个访问令牌。 我目前在将返回的correlation-id转换为正确格式的问题上遇到了困难。 我需要从id的后端去掉“2”值,使其从:'C5EA93607B0682A76040B5DB2'变为:'C5EA93607B0682A76040B5DB' 我试过很多种方法,但都无法改进工作--任何帮助都是非常感谢的 下面的代码:场景:获取access_

  • 我正在循环访问不同的进程 ID 以访问 json 中的数据并将其复制到我的电子表格中。但是,某些进程 ID 不包含任何数据,每次我的代码到达这些空数组时,我都会收到错误。我已经尝试了if语句的不同变体来跳过这个,但仍然得到一个错误。空数组位于“expectRateSetList” 我尝试了不同的if语句来跳过这一步,但仍然得到一个错误。我已经尝试了“如果J为空,如果J什么都不是,如果J为空”等等,

  • https://stackoverflow/v1/questions?time_from=2021-03-08t17:15:26和time_to=2021-03-08t17:21:26

  • 问题内容: 您能否帮助我在Orcle Sql中将日期从“ 20120101”格式转换为DATE格式。 我查看了此链接,但未提及日期格式是否为自定义。 编辑:是否可以将任何排除规则写入转换函数? 像这样的“ 99999999”到“ 9999-12-31”?是否有可能? 问题答案: