API需要HMAC认证JMeter

API requires HMAC authentication JMeter

我在 Jmeter 中设置 API 测试时遇到错误,同样在 POSTMAN 中工作正常。 使用 HMAC 身份验证。 我对该工具有一些 Jmeter 的基本知识。
https://developer.firstdata.com/marketplace/api/authentication.html?shell#authentication.

邮递员[=3​​5=]脚本

和邮递员[=3​​9=]详情

邮递员 API 响应工作正常。 与在 Jmeter 中工作相同,但我收到的响应消息为 {"message":"HMAC signature cannot be verified, a valid date or x-date header is required for HMAC Authentication"} 我添加了 JSR223 后处理器和 HTTP Header 管理器。 下面是两张图片的详细信息。

** JMeter - JSR223 后处理器**

JMeter HTTP Header管理器

从 Postman 复制和粘贴代码在 JMeter 中不起作用,因为:

  • Postman 是一个浏览器扩展,能够执行 JavaScript 并根据 JMeter project main page:

    JMeter is not a browser, it works at protocol level. As far as web-services and remote services are concerned, JMeter looks like a browser (or rather, multiple browsers); however JMeter does not perform all the actions supported by browsers. In particular, JMeter does not execute the Javascript found in HTML pages. Nor does it render the HTML pages as a browser does (it's possible to view the response as HTML etc., but the timings are not included in any samples, and only one sample in one thread is ever displayed at a time).

  • 如果您尝试 运行 JavaScript 编码,您需要从下拉列表中选择合适的语言

  • JMeter 不包含 CryptoJS 库,您需要在 运行 之前下载并加载 JavaScript

  • Since JMeter 3.1 it's recommended to use Groovy language for scripting 因为这个选项提供了最大的性能,尤其是当涉及到“繁重”的加密操作时,所以我建议在 Groovy[=17= 中重写你的代码]

  • 我看到你喜欢屏幕截图,所以我在此处包含一个示例实现作为屏幕截图:

有关 JMeter 中 Groovy 脚本的更多信息:Apache Groovy - Why and How You Should Use It