如何在Jmeter的功能流中获取几个请求的'authorization'标题的oauth_signature和oauth_nonce值。
流速: 1.使用user / pwd(JSON格式)登录>能够使用Jmeter登录,响应将具有在后续请求中用作cookie的sessionid 2. cookie值非常合格(已添加HTTP cookie管理器) 3.登录后,打开仪表板页面需要使用sessionid,这也可以正常运行 4.登录用户将执行'添加'和'提交'操作,其中包含'授权'标题,授权标题的值显示如下: OAuth realm =“xyz”,oauth_version =“1.0”,oauth_consumer_key =“testapp”,oauth_timestamp =“1517940303”,oauth_nonce =“abcd”,oauth_signature_method =“HMAC-SHA1”,oauth_signature =“uxO7B%2B%2Fbo%3D”
使用Blazemeter记录流量时,捕获上面的授权标题并观察到此'nonce'和'signature'值已动态更改后续请求。
请指导如何通过共同关系或任何其他方式捕获这些动态变化的值,以使测试计划始终成功运行。
目前,在运行测试时,只要传递了“授权”标题,它就会失败。
尝试使用HTTP授权管理器,但不确定以用户名/密码传递的内容,因为没有HTTP授权管理器的第一个请求登录成功。
当试图获取有关如何生成签名值的详细信息时,请获取以下更新: 使用oauth.js生成签名。这是供应商文件。但是在后端他们正在验证签名以及nonce和timestamp。
答案 0 :(得分:0)
nonce
基本上是number used once,因此您可以为此发送任何唯一的号码。在大多数情况下,它是从Unix时代开始的当前时间戳(以毫秒为单位) - JMeter的__time() function产生的时间戳非常简单。
关于签名,它需要更复杂一点:
对于请求参数的每个键/值对:
=
字符附加到输出字符串&
符号1参数查看OAuth Core 1.0 Revision A文章,了解有关OAuth流量的更多信息,希望它能说明为了执行经过身份验证的请求需要完成的工作。您可能还会发现How to Run Performance Tests on OAuth Secured Apps with JMeter有用。