如何解决API 需要 HMAC 认证 JMeter
我在 Jmeter 中设置 API 测试时出错,同样在 POSTMAN 中工作正常。
使用 HMAC 身份验证。
我对该工具有一些新的 Jmeter 基本知识。
https://developer.firstdata.com/marketplace/api/authentication.html?shell#authentication。
邮递员 API 响应工作正常。 与在 Jmeter 中的工作相同,但我收到的响应消息为 {"message":"HMAC 签名无法验证,HMAC 身份验证需要有效日期或 x-date 标头"} 我添加了 JSR223 PostProcessor 和 HTTP Header Manager。 下面是两张图片的详细信息。
解决方法
从 Postman 复制和粘贴代码在 JMeter 中不起作用,因为:
-
Postman 是一个浏览器扩展程序,能够执行 JavaScript,根据 JMeter project main page:
JMeter 不是浏览器,它在协议级别工作。就 Web 服务和远程服务而言,JMeter 看起来像一个浏览器(或者更确切地说,多个浏览器);但是 JMeter 不会执行浏览器支持的所有操作。特别是,JMeter 不执行 HTML 页面中的 Javascript。它也不会像浏览器那样呈现 HTML 页面(可以将响应视为 HTML 等,但时间不包含在任何示例中,并且一次只显示一个线程中的一个示例)。>
-
JMeter 不包含 CryptoJS 库,您需要在运行 JavaScript 之前下载并加载它
-
Since JMeter 3.1 it's recommended to use Groovy language for scripting 因为此选项可提供最高性能,尤其是在涉及“繁重”加密操作时,因此我建议您在 Groovy 中重新编写代码
-
我看到你喜欢屏幕截图,所以我在此处包含了一个示例实现作为屏幕截图:
有关 JMeter 中 Groovy 脚本的更多信息:Apache Groovy - Why and How You Should Use It
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。