Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 基于嵌套json的空手道DSL断言_Java_Automation_Automated Tests_Karate - Fatal编程技术网

Java 基于嵌套json的空手道DSL断言

Java 基于嵌套json的空手道DSL断言,java,automation,automated-tests,karate,Java,Automation,Automated Tests,Karate,我试图获取所有accountNumber并验证它们是否为数字。我做错了什么 {"serviceName":"Legal Entity account for given input account.","requestTime":1545426348945,"responseTime":1545426348949,"timeTaken":4,"responseCode":0,&

我试图获取所有accountNumber并验证它们是否为数字。我做错了什么

{"serviceName":"Legal Entity account for given input account.","requestTime":1545426348945,"responseTime":1545426348949,"timeTaken":4,"responseCode":0,"responseMessage":"Success","pageSize":100,"pageNumber":0,"accounts":{"transferDate":1549429200000,"migrationWave":"5","searchedLEAccount":{"accountNumber":"41477514","cbdNumber":"12345678","bic":"CHASGBXxX","poolAccount":"Y","sweepMasterAccount":"Y","status":"DORMANT","branchId":"000000071","branchName":"LONDON","leAccountType":"OLD"},"linkedLEAccount":{"accountNumber":"6541245045","cbdNumber":"854321","bic":"CHASLUY","status":"DORMANT","branchId":"000000055","branchName":"S.A","leAccountType":"NEW"}}}
一行:

When method Post

Then status 200

And match response != null

And match response contains {serviceName: 'Legal Entity account for given input account.' }

And match response.accounts.searchedLEAccount contains { accountNumber: '#notnull' }

And match response.accounts.searchedLEAccount contains { accountNumber: '#present' }

And match response.accounts.searchedLEAccount contains { accountNumber: '#number' }
提示:仔细阅读文档并理解Json路径

下面是完整的示例,您可以将其粘贴到新的
场景中,并查看工作:

* match each $..accountNumber == '#regex \\d+'

请粘贴您试图验证的JSON(而不是日志)并编辑您的问题以显示已编辑的代码,希望这有帮助哇,这很有魅力…我能再问一件事吗。。。有没有一种方法可以在请求中通过respose vs accountNumber创建assert==accountNumber
* def response = 
"""
{
   "serviceName":"Legal Entity account for given input account.",
   "requestTime":1545426348945,
   "responseTime":1545426348949,
   "timeTaken":4,
   "responseCode":0,
   "responseMessage":"Success",
   "pageSize":100,
   "pageNumber":0,
   "accounts":{
      "transferDate":1549429200000,
      "migrationWave":"5",
      "searchedLEAccount":{
         "accountNumber":"41477514",
         "cbdNumber":"12345678",
         "bic":"CHASGBXxX",
         "poolAccount":"Y",
         "sweepMasterAccount":"Y",
         "status":"DORMANT",
         "branchId":"000000071",
         "branchName":"LONDON",
         "leAccountType":"OLD"
      },
      "linkedLEAccount":{
         "accountNumber":"6541245045",
         "cbdNumber":"854321",
         "bic":"CHASLUY",
         "status":"DORMANT",
         "branchId":"000000055",
         "branchName":"S.A",
         "leAccountType":"NEW"
      }
   }
}
"""
* match each $..accountNumber == '#regex \\d+'