我直到今天为止:
我有get_jwt.feature
,并将其称为karate-config.js
的一部分。因为我使用了一个帐户[email protected]
,所以我只需要一个jwt,就可以在各种情况下重复使用它。在这种情况下,callSingle
起到了吸引作用。
今天:
突然我需要两个我不想为每种情况生成的帐户的jwt,callSingle
不能完成此任务,因为它确实可以执行其应做的工作。现在我有了一个怪异的主意,我可以简单地创建两个文件,分别为get_jwt.feature
和get_jwt_user2.feature
,并分别调用它们。
所以我的问题是:有更好的方法吗?
最佳答案
您可以使用“ 2级”通话。因此,将callSingle()
指向调用get_jwt.feature
2次(可能带有不同参数)的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()
!这样可能很方便:)