假定我有2个用户,并且使用基本身份验证。我想一次生成2个基本的auth令牌,然后在一种功能中针对每种情况重新使用它。最重要的是,我有不需要授权的场景。如何用最少的biolerplate实现这一目标?目前我有
auth-header.js
function(creds) {
var temp = creds.username + ':' + creds.password;
var Base64 = Java.type('java.util.Base64');
var encoded = Base64.getEncoder().encodeToString(temp.bytes);
return 'Basic ' + encoded;
}
karate-config.js
...
config.apitester1AuthHeader =
karate.call('classpath:auth-headers.js', {username:'apitester1', password:'xxx'});
config.apitester2AuthHeader =
karate.call('classpath:auth-headers.js', {username:'apitester2', password:'xxx'});
...
project-get.feature
Feature: project end-point
Background:
* url baseUrl
Scenario: get projects user has right to
* configure headers = {Authorization : '#(apitester1AuthHeader)'}
Given path 'project'
...
答案 0 :(得分:1)
您所拥有的东西看起来很合理。
请注意,如果您这样做:
* configure headers = null
它将具有暂时的不授权的效果。我建议您坚持使用现有的工具,它已经非常模块化了。