直到今天我所拥有的:
我有get_jwt.feature
,我将其称为karate-config.js
的一部分。因为我使用了一个帐户test@test.com
,所以我只需要一个jwt,就可以在各种情况下重复使用它。在这种情况下,callSingle
很有魅力。
今天:
突然之间,我需要从两个我不想为每种情况生成的帐户中获取jwt,callSingle
不能完成此任务,因为它确实可以完成应做的工作。现在我有了一个怪异的主意,我可以简单地制作两个文件get_jwt.feature
和get_jwt_user2.feature
,然后分别调用它们。
所以我的问题是:有更好的方法吗?
答案 0 :(得分:2)
您可以使用“ 2级”通话。因此,将callSingle()
指向一个调用get_jwt.feature
两次(可能带有不同参数)的JS函数,然后返回JSON。下面的伪代码。首先是get_jwts.js
:
function fn(users) {
var jwt1 = karate.call('get_jwt.feature', users.user1);
var jwt2 = karate.call('get_jwt.feature', users.user2);
return { jwt1: jwt1, jwt2: jwt2 };
};
然后在karate-config.js
config.jwts = karate.callSingle('classpath:get_jwts.js', users);
现在您应该能够做到这一点:
* print jwts.jwt1
* print jwts.jwt2
您还可以执行功能->功能调用链。让我知道这是否有效!
编辑:在评论中查看Babu的答案,看来您可以将数组传递给callSingle()
!这样可能会很方便:)