2016-01-21 163 views
4

我有一个相当简单的我们网站的jmeter脚本。作为网站流程的一部分,我使用我们的API来更新用户的应用程序。jmeter - 授权标题丢失

该API使用OAuth身份验证,我熟悉使用我们自己的专有测试工具。

首先,我通过调用授权端点来获得身份验证令牌。这会返回一些像这样的JSON:

{"access_token":"a really long auth token string"} 

在我的脚本中,我使用正则表达式来捕获此标记字符串。作为调查这个问题的一部分,我使用了一个Debug PostProcessor来检查我是否得到了正确的字符串,我这样做。它被保存为变量'authToken'。

在脚本中非常下一步,我通过一个HTTP报头管理器中添加一个头,像这样:

Imgur

我知道这头是正确的,因为我们在它的许多情况下,我们的API测试。

脚本的相关部分看起来是这样的:

Imgur


每次然而我运行该脚本,使用该令牌步骤/头返回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 

Imgur

结果树也没有显示出重定向。

我试过解决方案herehere但这些都没有工作。

奇怪的是,我几乎可以肯定,这个工作大约一个月前,并且据我所知,机器上,脚本或jmeter安装中都没有发生任何变化。显然其中一个是不正确的,但我在我的智慧结束。

+0

你可以在这部分显示你的测试计划结构和缩放吗? –

+0

我已经屏蔽了测试,但猜测你想要更多的比... –

+0

我想你显示的标题管理器是第二个?你可以显示获取授权令牌的详细信息?你能显示查看结果树请求标签吗? thx –

回答

3

我的团队的另一位成员为我解答了这个问题,这很简单。我只需要将问题步骤的'执行'设置为'HttpClient4'。