我有一个相当简单的我们网站的jmeter脚本。作为网站流程的一部分,我使用我们的API来更新用户的应用程序。jmeter - 授权标题丢失
该API使用OAuth身份验证,我熟悉使用我们自己的专有测试工具。
首先,我通过调用授权端点来获得身份验证令牌。这会返回一些像这样的JSON:
{"access_token":"a really long auth token string"}
在我的脚本中,我使用正则表达式来捕获此标记字符串。作为调查这个问题的一部分,我使用了一个Debug PostProcessor来检查我是否得到了正确的字符串,我这样做。它被保存为变量'authToken'。
在脚本中非常下一步,我通过一个HTTP报头管理器中添加一个头,像这样:
我知道这头是正确的,因为我们在它的许多情况下,我们的API测试。
脚本的相关部分看起来是这样的:
每次然而我运行该脚本,使用该令牌步骤/头返回401未经授权。
我测试了Chrome插件中的实际URL和标头,并且调用按预期工作。
在“查看结果树”侦听器中,根本没有证据表明授权标头完全被设置。我试图对授权令牌进行硬编码,但没有喜悦 - 它似乎仍然不是请求的一部分。
从结果树,请求如下:
POST <correct URL>
POST data:{"id":"<item id>"}
Cookie Data: SessionProxyFilter_SessionId=<stuff>; sessionToken=<stuff>
Request Headers:
Content-Length: 52
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.124 Safari/537.36
Connection: keep-alive
Content-Type: application/json
结果树也没有显示出重定向。
奇怪的是,我几乎可以肯定,这个工作大约一个月前,并且据我所知,机器上,脚本或jmeter安装中都没有发生任何变化。显然其中一个是不正确的,但我在我的智慧结束。
你可以在这部分显示你的测试计划结构和缩放吗? –
我已经屏蔽了测试,但猜测你想要更多的比... –
我想你显示的标题管理器是第二个?你可以显示获取授权令牌的详细信息?你能显示查看结果树请求标签吗? thx –