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

空手道:在JSON响应中验证特定日期

姜阳
2023-03-14

我需要验证一个JSON响应(如下所示),并检查JSON数组中是否有任何一个项的日期为createdDate。

“createdDate”实际上是作为时间戳返回的,但我没有实际值。我唯一需要验证的是今天的日期。项目的顺序也不保证。我查看了https://intuit.github.io/karate/指定的javascript宏,但它没有我正在尝试做的示例。请让我知道任何建议。

{
    "items": [
      {
        "id": "...",
        "name": "...",
        "createDate": "03-30-2020:10:12:30"

      },
      {
        "id": "...",
        "name": "...",
        "createDate": "03-31-2020:10:12:30"
      }
}

共有1个答案

谷梁玺
2023-03-14

给你一个可能的解决方案:

* def sdf = new java.text.SimpleDateFormat("MM-dd-yyyy")
* def today = sdf.format(new java.util.Date())
* def list = $response..createDate
* def fun = function(x){ return x.startsWith(today) }
* def filtered = karate.filter(list, fun)
* assert filtered.size() != 0

有关更多想法,请参阅:

https://stackoverflow.com/a/55938480/143475

https://stackoverflow.com/a/52892797/143475

 类似资料:
  • 我一直在验证下面的回答。 当我使用空手道发出获取请求时,我会得到以下响应,我想验证它。 我试过: 它说它不是字符串。你能帮我确认一下这个请求吗?

  • 我正在使用空手道验证GET请求的整个json响应。 下面是来自请求的json响应示例(我只为items显示了两个元素) 以下是我试图验证的方式: 但是,我得到了一个断言错误:

  • 我需要验证存储在两个不同文件中的2个json响应。我正在阅读它们并进行比较。但是我得到一个错误的和有几个元素不匹配。只有当我将json存储在文件中并在我的功能文件中读取时,才会出现此问题。 Json文件1:Test.Json Json文件2:Test1.Json 现在,我使用下面的代码来匹配两个json文件。 下面是错误响应。

  • 我试图验证非json格式的错误响应体。我尝试了使用模式以及使用包含匹配的关键字。这对我不起作用。 在post调用中观察到多个匹配时从API返回的实际响应: 我的空手道特点: 尝试*匹配实际的[0] == '#(^partSchema)'也从https://gist.github.com/ptrthomas/2a1e30bcb4d782279019b3d5c10b3ed1。不工作

  • 我想要帮助验证API响应使用空手道框架。我有相互“独立”的应用编程接口。当我打那个特定的API得到了不同参数的响应(没有单一的匹配从请求参数和响应参数)。 现在我想验证响应参数值。 示例:请求:“方法”帖子 学校名称:“abcd”注册日期:“1:10:2010” 回复:原则名称:“pqrs”原则电子邮件idpqrs@gmail.com 现在我想验证“主名称”不应该为空 我已经像这样实现了,但它不起

  • 下面是我在点击特定Web服务时收到的JSON响应: 我不知道哪个索引有我的期望值(我需要在确定哪个具有)后验证多个值),这是动态的。不希望使用硬编码值。并匹配,因为这将在下次更改。 对此我有两个问题: 如何将响应传递给java代码并获取具有的数组索引,以便使用此索引进行验证? 下面的代码不起作用。