我需要发布获取授权令牌的请求,并将其包含在所有后续测试请求的标头中。此令牌每次都会更改,但只要我不断发送请求,它就会对整个测试会话有效。在每个功能文件中,我可以调用另一个功能文件来获取此令牌。但我不想为每个功能文件执行此操作。我只是想在测试开始时获取一次令牌并将其用于所有功能文件。我怎么做?我已经在GitHub上阅读了空手道信息,但没有找到答案。
答案 0 :(得分:1)
演示中的第二个示例回答了您的所有问题:karate-demo。
EDIT1:对不起,我读得太快了。您可以在karate.call()
中使用karate-config.js
,因此它适用于所有要素文件。我不推荐这个,因为你总会有一些你不需要的功能。只需使用对功能的调用,不要过度设计测试。
EDIT2:我想到了这一点,如果你对Java感到满意,你可以在每个特征的开头(甚至是全局karate-config.js
)和那个单身人士中调用单例。缓存身份验证令牌的值。因此,您可以完全按照您的需要进行操作,并且灵活。
EDIT3:根据这个问题 - 我们将此功能添加到空手道作为karate.callSingle()
操作,这里是文档:https://github.com/intuit/karate/tree/develop#the-karate-object