我们测试的内部API需要经历对其进行签名的过程(即获取AWS Signature)并将签名的标头添加到“请求标头”,然后再执行任何CRUD操作。
可以通过AWS-SDK或使用类似https://github.com/lucasweb78/aws-v4-signer-java的东西(如果我们的测试完全用Java编写)来对请求进行签名
在空手道DSL中实现此目标的最佳方法是什么。请提出建议。
答案 0 :(得分:0)
阅读文档:https://github.com/intuit/karate#http-basic-authentication-example
例如,这是您进行基本身份验证的方式:
function fn(creds) {
var temp = creds.username + ':' + creds.password;
var Base64 = Java.type('java.util.Base64');
var encoded = Base64.getEncoder().encodeToString(temp.bytes);
return 'Basic ' + encoded;
}
这里的重点是您可以插入任何Java代码。您也可以查看OAuth示例以获取更多建议:https://github.com/intuit/karate/tree/master/karate-demo/src/test/java/demo/oauth