繁体   English   中英

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

[英]In Karate Scenario Outline test, how to pass param values in the Examples table through a variable

我在大多数 API 请求中使用相同的数据集,例如。 日期范围 FromDate & ToDate。 但是,如果我想更改日期范围,那么我将不得不为所有场景大纲更改它。 为了避免这种情况,我可以在背景部分定义日期范围并在场景大纲示例表中使用变量名称吗? 空手道能做到吗? 请帮忙。 谢谢。

尝试了很多方法,但如果不知何故无法成功。

功能:验证 API 是否正确返回产品背景:* configure ssl = true * url 'https://......' And def FromDate1 = '2019/06/27' And 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        |

我应该能够使用包含要在场景大纲中的示例表中使用的值的变量名称。

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

你需要做这个小小的改变:

And param FromDate = FromDate1
And param ToDate = ToDate1

请注意,在 0.9.3 版本之后,这种混淆得到了解决,即使对于Scenario Outline ,您也不再需要尖括号。 请阅读: https : //github.com/intuit/karate#scenario-outline-enhancements

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM