空手道净额-CallSingle,但不是那么单一

时间:2019-06-12 17:01:12

标签: karate

直到今天我所拥有的:

我有get_jwt.feature,我将其称为karate-config.js的一部分。因为我使用了一个帐户test@test.com,所以我只需要一个jwt,就可以在各种情况下重复使用它。在这种情况下,callSingle很有魅力。

今天:

突然之间,我需要从两个我不想为每种情况生成的帐户中获取jwt,callSingle不能完成此任务,因为它确实可以完成应做的工作。现在我有了一个怪异的主意,我可以简单地制作两个文件get_jwt.featureget_jwt_user2.feature,然后分别调用它们。

所以我的问题是:有更好的方法吗?

1 个答案:

答案 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()!这样可能会很方便:)