在空手道场景大纲测试中,如何通过变量传递示例 table 中的参数值
In Karate Scenario Outline test, how to pass param values in the Examples table through a variable
我在大多数 API 请求中使用相同的数据集,例如。日期范围 FromDate 和 ToDate。但是,如果我想更改日期范围,那么我将不得不为所有场景大纲更改它。为避免这种情况,我可以在背景部分定义日期范围并在场景大纲示例 table 中使用变量名吗?
空手道可以做到吗?请帮忙。谢谢
尝试了很多方法,但如果不知何故无法实现。
功能:验证产品是否由 API 正确退回
背景:
* 配置 ssl = true
* url 'https://......'
并且 def FromDate1 = '2019/06/27'
并且 def ToDate1 = '2019/06/27'
Scenario Outline:
Given path 'GetContext'
And param FromDate = '<FromDate>'
And param ToDate = '<ToDate>'
And param CompAreaId = '<CompAreaId>'
And param RegId = '<RegId>'
When method get
Then status 200
* def res = response
* print 'response:', response
Examples:
| FromDate | ToDate | CompAreaId | RegId |
| FromDate1 | 2019/06/27 | 20 | 4 |
| 2019/06/28 | 2019/06/28 | 21 | 5 |
| 2019/06/29 | 2019/06/29 | 22 | 6 |
我应该能够使用包含要在场景大纲中的示例 table 中使用的值的变量名称。
当然可以。因为定义为普通变量的更容易使用,所以你直接引用它而不是添加angle-brackets.
您需要做这个小改动:
And param FromDate = FromDate1
And param ToDate = ToDate1
请注意,从 0.9.3 版本开始,这个混淆已得到解决,您不再需要 angle-brackets,甚至 Scenario Outline
。请阅读:https://github.com/intuit/karate#scenario-outline-enhancements
我在大多数 API 请求中使用相同的数据集,例如。日期范围 FromDate 和 ToDate。但是,如果我想更改日期范围,那么我将不得不为所有场景大纲更改它。为避免这种情况,我可以在背景部分定义日期范围并在场景大纲示例 table 中使用变量名吗? 空手道可以做到吗?请帮忙。谢谢
尝试了很多方法,但如果不知何故无法实现。
功能:验证产品是否由 API 正确退回 背景: * 配置 ssl = true * url 'https://......' 并且 def FromDate1 = '2019/06/27' 并且 def ToDate1 = '2019/06/27'
Scenario Outline:
Given path 'GetContext'
And param FromDate = '<FromDate>'
And param ToDate = '<ToDate>'
And param CompAreaId = '<CompAreaId>'
And param RegId = '<RegId>'
When method get
Then status 200
* def res = response
* print 'response:', response
Examples:
| FromDate | ToDate | CompAreaId | RegId |
| FromDate1 | 2019/06/27 | 20 | 4 |
| 2019/06/28 | 2019/06/28 | 21 | 5 |
| 2019/06/29 | 2019/06/29 | 22 | 6 |
我应该能够使用包含要在场景大纲中的示例 table 中使用的值的变量名称。
当然可以。因为定义为普通变量的更容易使用,所以你直接引用它而不是添加angle-brackets.
您需要做这个小改动:
And param FromDate = FromDate1
And param ToDate = ToDate1
请注意,从 0.9.3 版本开始,这个混淆已得到解决,您不再需要 angle-brackets,甚至 Scenario Outline
。请阅读:https://github.com/intuit/karate#scenario-outline-enhancements