【发布时间】:2021-06-30 16:32:50
【问题描述】:
【问题讨论】:
标签: karate
【问题讨论】:
标签: karate
是的,这个JS函数就是你所需要的:
function(creds) {
var temp = creds.username + ':' + creds.password;
var Base64 = Java.type('java.util.Base64');
var encoded = Base64.getEncoder().encodeToString(temp.getBytes());
return 'Basic ' + encoded;
}
然后使用这个函数来构建Authorization标头的值:
* header Authorization = call read('basic-auth.js') { username: 'john', password: 'secret' }
请参阅此处的文档:https://github.com/intuit/karate#http-basic-authentication-example
对于 OAuth 或“登录表单”类型的流程,请参阅:https://stackoverflow.com/a/58643689/143475 和 https://stackoverflow.com/a/46333729/143475
【讨论】:
var encoded = Base64.getEncoder().encodeToString(temp.bytes); 修改为:var encoded = Base64.getEncoder().encodeToString(temp.getBytes());