我想使用正确设置有效载荷参数的方案大纲和示例在同一功能文件的所有方案中重用一个有效载荷。 我注意到在背景部分中定义的有效负载json并未替换其占位符变量。
(Java 9,空手道0.9.0) 为了展示我的问题,我将其归结为:
Feature: Some Test
Background:
* def globalVariable = {name: <name>}
Scenario Outline: Successfully register a single valid user
* def inlineVariable = {name: <name>}
* print "from global : ", globalVariable
* print "from inline : ", inlineVariable
Examples:
| name |
| 'Bob' |
结果:
16:38:00.602 [main] INFO com.intuit.karate - [print] from global : {
"name": "<name>"
}
16:38:00.608 [main] INFO com.intuit.karate - [print] from inline : {
"name": "Bob"
}
有人可以向我解释一下,为什么全局json结构'globalVariable'无法替换变量吗?
答案 0 :(得分:1)
因为占位符仅在Scenario Outline
中起作用。我认为在Background
中提供支持确实会造成混乱,因为您可以在同一Scenario
中使用普通的Feature
-s。
因此,请在Scenario Outline
主体内部进行替换-即使这意味着您重复一两行。 IMO没什么大不了的。