在空手道场景大纲测试中,如何通过变量传递“示例”表中的参数值

时间:2019-06-30 11:36:20

标签: api parameters karate outline

例如,我在大多数API请求中使用的是同一组数据。日期范围FromDate和ToDate。但是,如果我希望更改日期范围,则必须针对所有方案提要更改日期范围。为了避免这种情况,我可以在“方案概述示例”表中在后台部分中定义日期范围并在各处使用变量名称吗? 空手道可以做到吗?请帮忙。谢谢。

尝试了许多方法,但是无法退出。

功能:验证API是否正确返回了产品   背景:     *配置ssl = true     *网址'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        |

我应该能够使用包含要在“方案大纲”的“示例”表中使用的值的变量名。

1 个答案:

答案 0 :(得分:1)

是的。因为定义为普通变量的内容甚至更易于使用,所以您直接引用它而不用添加尖括号。

您需要进行一些小的更改:

And param FromDate = FromDate1
And param ToDate = ToDate1

请注意,从0.9.3版开始,这种混乱已得到解决,即使对于Scenario Outline,也不再需要尖括号。请阅读:https://github.com/intuit/karate#scenario-outline-enhancements