如何为J量表中的功能流中的两个请求获取“授权”头的oauth_signature和oauth_nonce值。
流程: 1.使用user/pwd登录(JSON格式)>能够使用xyz登录,响应将具有会话is,在随后的请求2中用作cookie。该cookie值成功地被传递(HTTP管理器已经添加) 3。在登录仪表板页面打开需要sessionid后,这也可以作为cookie传递4。登录用户将执行'add‘和'submit’操作,这些操作具有‘授权’头,授权头的值如下: OAuth realm="xyz“、oauth_version="1.0”、oauth_consumer_key="testapp“、oauth_timestamp="1517940303",oauth_nonce="abcd",oauth_signature_method=“HMAC 1”,oauth_signature="uxO7B%2B%2Fbo%3D“
当使用Blazemeter记录流时,捕获上面的授权头并观察到这个'nonce‘和'signature’值会动态地更改后续请求。
请指导如何通过关联捕获这些动态变化的值或任何其他方法,使测试计划始终成功运行。
当前,当运行测试时,它在通过“授权”头的任何地方都会失败。
但是,在HTTP授权管理器中尝试过,不确定以用户名/pwd的形式传递什么,因为登录成功地处理了第一个没有HTTP授权管理器的请求。
当试图获取有关如何生成签名值的详细信息时,请执行以下更新:使用oauth.js生成签名.this是供应商文件。但在后端,他们正在验证签名,并加上了“现在”和“时间戳”。
发布于 2018-03-05 05:49:11
nonce基本上是一个一次使用的数字,因此您可以为此发送任何唯一的数字。在大多数情况下,它是以毫秒为单位的当前时间戳,从Unix时代开始--JMeter的时间()函数产生了什么,所以非常简单。
关于签名,它有点复杂,因为您需要:
- Append the encoded key to the output string
- Append the `=` character to the output string
- Append the encoded value to the output string.
- Append `&` sign between key/value pairs if your request has > 1 parameter
有关OAuth核心1.0修订版A流的更多信息,请查看OAuth文章,希望它能说明执行经过身份验证的请求需要做些什么。您可能还会发现如何在OAuth安全应用程序上使用JMeter运行性能测试很有用。
https://stackoverflow.com/questions/48700460
复制相似问题