karate - 如何根据静态数据迭代示例部分中的每一行
问题描述
要求: 我想根据输入 Json 中存在的字段(ProductType)迭代示例部分中的每一行。
ProductType 的值可以是 11 或 22 或 33。但这些值的 expectedAmount 应该相同。我在下面给出一个片段 -
**Feature:** To check expected results for different values of ProductType
Background:
* url http://localhost:8080
* header Content-Type = 'application/json'
Scenario Outline: To check expected results for different values of ProductType
Given path PATH
And request <data>
When method POST
Then status 200
And match $.Parent[0].Amount == expectedAmount>
Examples:
| data | ExpectedAmount |
| read('classpath:' + INPUT_JSON_PATH + '/Test1.json') | 1234.56 |
| read('classpath:' + INPUT_JSON_PATH + '/Test2.json') | 6789.12 |
| read('classpath:' + INPUT_JSON_PATH + '/Test3.json') | 3453.56 |
json输入:
{
"Parent" : [ {
"Id" : "1",
"productType" : 11
}]
}
你能建议一个解决方案吗?
谢谢,阿比
解决方案
这些Examples:
行不支持任何变量评估,例如read('classpath:' + INPUT_JSON_PATH + '/Test1.json')
,请改为:
* def data = read('classpath:' + INPUT_JSON_PATH + '/' + file)
Examples:
| file | ExpectedAmount |
| Test1.json | 1234.56 |
| Test2.json | 6789.12 |
| Test3.json | 3453.56 |
我没有阅读您的其余问题,因为我仍然不明白。
推荐阅读
- javascript - Google Spreadsheet node.js 移动行或排序表
- django - 如何在 django 中将表格的内容显示为表格?
- r - 复制行但每行增加时间(+1 分钟)
- java - JAXB 编组异常 - 作为一个元素,因为它缺少 @XmlRootElement 注释
- mysql - 请问如何通过sql制定规则?
- python-3.x - 如何解析这种类型的日期时间数据
- aws-lambda - 从 Lex 对 Lambda 的调用被终止
- postgresql - JPA 级联 - 当连接表中的 id 不同时,删除不起作用
- android-studio - 在适配器内校准片段方法但我的值变为空应该添加什么?
- css - Bootstrap4:如何在移动视图中将项目 C 推到底部