在这种情况下,我有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
答案 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