feature1的变量值 - >功能2通过呼叫读取

时间:2018-04-02 17:57:57

标签: karate

在这种情况下,我有2个功能文件

1)create-user.feature

2)redeem-create.feature

我创建了新功能,即redeem.feature,以整合这两个功能。

在redeem.feature中,我没有使用任何背景步骤并创建方案步骤如下

场景:运行创建用户

# fetch service token (redemption endpoints are protected by service token)
* def result = call read('classpath:com/imscreateuser/create-user.feature')
* print "testing ..."+ result.teacher
* def idval = result.teacher
* print idval
* def signIn = call read('classpath:com/redeem/redeem-create.feature') { username: idval }

我在redeem-create.feature中有以下场景

@ignore

功能:可重复使用的功能来创建一只猫

情景:

* def result = call read('classpath:com/ims/fetch-
rrc2servicetoken.feature')
Given url 'https://aps-il-test.io/api/redemptions'
And header Accept = 'application/json'
And request { userId: '#(username)' }
When method post
Then status 200
* print response.subscriptionId

1 个答案:

答案 0 :(得分:0)

请阅读documentation,我在下面引述:

  

roomDict.Values.Select(rm => rm.roomData.roomName).ToList(); 中使用def设置的变量将在每个变量之前重新设置   Background。如果您正在寻找一种方法,每次只做一次   Scenario,请查看Feature。另一方面,如果你是   期望callonce中的变量被一个Background修改   以便以后可以看到更新的值 - 这不是你的方式   应该想到它们,你应该将你的“流动”合二为一   场景。请记住,你应该能够评论出来   Scenario或跳过一些via标签,而不会影响任何其他标签。

编辑:编辑完问题后确定,这有帮助:

Scenario

请花点时间了解嵌入式表达式:https://github.com/intuit/karate#embedded-expressions

空手道表达:https://github.com/intuit/karate#karate-expressions