我需要发布请求以获取授权令牌,并将其包含在所有后续测试请求的标头中。该令牌每次都会更改,但是只要我不断发送请求,它对于整个测试会话都有效。在每个功能文件中,我可以调用另一个功能文件来获取此令牌。但是我不想对每个功能文件都这样做。我只想一次在测试开始时获得令牌并将其用于所有功能文件。我怎么做?我已在GitHub上阅读了空手道信息,但未找到答案。
演示中的第二个示例回答了您的所有问题:karate-demo。
EDIT1:对不起,我读你的问题太快了。您可以使用karate.call()
inkarate-config.js
使其适用于所有功能文件。我不建议这样做,因为您总是会拥有一些不需要的功能。只需使用某个功能的调用,就不会过度设计测试。
EDIT2:我还想了一下,如果您对Java感到满意,则可以在每个功能的开头(甚至在global中karate-config.js
)调用一个单例,并在该单例中缓存auth令牌的值。因此,您可以按照自己的需要做,这将很灵活。
EDIT3:基于此问题-我们将此功能添加为空手道作为一项karate.callSingle()
操作,这是文档:https : //github.com/intuit/karate/tree/develop#the-karate-object
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句