问答 百科手机端

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

2023-04-25 16:48
不想为每个场景生成,将callSingle()指向get_jwt.feature二次调用的JS函数,可能使用不同的参数。返回JSON。首先,还可以执行get_jwth.js;users.user2):config.jwth=karate.calSingle(‘classpath;get_jwts.js’.Users),feature->;!Feature呼叫链:
提问开始:

直到今天我所拥有的:

我有get_jwt.feature,我把它称为karate-config.js的一部分。因为我使用了一个帐户test@test.com,所以我只需要一个jwt,并且我可以跨场景重用它。在这种情况下,callSingle起到了魅力的作用。

今天:

突然,我需要两个帐户的jwt,我不想为每个场景生成,callSingle无法完成这项任务,因为它做的正是它应该做的事情。现在我有了一个很好的想法,我可以简单地创建两个文件,get_jwt.featureget_jwt_user2.feature,并分别调用它们。

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

回答开始:得票数 2

您可以使用"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

您还可以执行feature-->feature调用链。如果有效的话,一定要让我知道!

编辑:在评论中看到Babu的答案,看起来你可以将一个数组传递给callSingle()!因此这可能是非常方便的:)

总结

以上是真正的电脑专家为你收集整理的空手道Netty - CallSingle,但不是那么单一的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得真正的电脑专家网站内容还不错,欢迎将真正的电脑专家推荐给好友。

热门