0

我想使用 Jmeter 对我的 Heroku 应用程序进行负载测试。要访问应用程序的功能,我需要先通过 Facebook 登录。我尝试使用代理服务器进行浏览器录制。但问题是 facebook 返回的代码参数(response_type)在回调 URI 中是硬编码的。所以它在运行 Jmeter 脚本时给出异常(代码过期异常)。

我可以在https://www.facebook.com/dialog/permissions.requestURL 的响应标头中查看代码。所以我需要动态地从这个头中抓取这段代码,并放入回调URL的代码参数中。

为此,我在 URL下的 Jmeter 中使用正则表达式提取器/dialog/permissions.request

我的响应标头如下所示:

Cache-Control   private, no-cache, no-store, must-revalidate
Date            Wed, 26 Dec 2012 13:37:17 GMT
Expires         Sat, 01 Jan 2000 00:00:00 GMT
Location        http://myapplication.herokuapp.com/oauth/authenticate/facebook?code=SOME-CODE
P3P CP="Facebook does not have a P3P policy. Learn why here: http://fb.me/p3p"

我想提取它code=some code并使用正则表达式提取器将其放入下一个 URL。

4

2 回答 2

1

我不知道 JMeter 上下文,但正则表达式可能类似于:

\?code=(.*)

您可能需要将反斜杠加倍。如果作为一个整体检查标题$可能会出现问题,您可以将其替换为\n可能。

[编辑] 我发现测试人员JMeter 页面指向并将其用于您提供的标题内容。显然$没有必要,搜索停止在一条线上。仍然不确定是否将反斜杠加倍。实验。

于 2012-12-26T14:08:05.930 回答
0

问题不在于 Saswat Sahoo 提到的正则表达式提取器。主要问题是位置标头甚至没有进入 Jmeter 的响应标头。我们可以在浏览器的响应头中看到 Location 头。与浏览器的响应标头相比,Jmeter 响应标头中缺少的信息很少。

于 2012-12-28T11:10:16.277 回答