Http POST请求发送用户名和密码的动态值。 JMeter的

时间:2017-04-29 18:48:20

标签: http dynamic jmeter http-post

我正在尝试为我的项目创建一个instance (Formable a) => Formable (Maybe a) where form Nothing = 0 form (Just a) = form a 脚本,其中包括简单的登录和注销流程。我使用Chrome Extension" Blazemeter录制了剧本,"在登录http sampler下找到,post方法发送正文中的数据。

Jmeter

当我重播{"username":"U2FsdGVkX1/NOa/KQxSdikbkXsT8M5bF4K2oSVx/zTBAvyymJ93co+10eUT0cZuJ","password":"U2FsdGVkX183cvN9kZZiv5HRtrV/Z0ZwB89YenArxtA="} 中的脚本时,它会抛出此错误:

Jmeter

我尝试过提供实际的凭据,但对我来说并不适用。 有谁可以帮我解决这个问题?此动态值在浏览器端生成,我在之前的响应中找不到任何动态值。

1 个答案:

答案 0 :(得分:1)

再次记录您的登录流程并检查用户名和密码值。

  1. 如果它们与第一次录制相同 - 问题就在其他地方,您需要弄清楚JMeter测试发送的请求与真实浏览器发送的请求之间的区别。我建议使用像Wireshark这样的嗅探工具进行比较,以便能够检测并解决这些差异。

  2. 如果它们不同,每次你需要找出用于加密用户名和密码的算法时,很可能它是由JavaScript直接在浏览器中完成的,所以你应该能够弄明白并在JSR223 PreProcessor中重复使用或重新实施。例如,您的用户名和密码看起来完全像Base64 - 已编码的字符串,因此我尝试使用Groovy built-in decoding methods对其进行解码,但不幸的是,它还使用其他内容进行加密

    JMeter Groovy Decode Base64

    查看Groovy Is the New Black文章,了解有关在JMeter脚本中使用Groovy的更多信息。