2012-12-26 87 views
0

我想使用Jmeter對我的Heroku應用程序進行負載測試。 要訪問應用程序的功能,我需要先登錄Facebook。 我嘗試使用代理服務器進行瀏覽器錄製。但問題是Facebook返回的代碼參數(response_type)在回調URI中被硬編碼。所以在運行Jmeter腳本時它給出了異常(代碼過期異常)。使用Jmeter的Facebook登錄

我可以查看https://www.facebook.com/dialog/permissions.request URL的響應標題中的代碼。所以我需要從這個頭部動態獲取這段代碼,並將其放入回調URL的代碼參數中。

爲此,我正在使用正則表達式提取器在Jmeter中根據/dialog/permissions.request URL。

我的響應頭看起來象下面這樣:

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。

回答

1

我不知道JMeter的範圍內,但正則表達式可以是這樣的:

\?code=(.*) 

您可能需要反斜線一倍。 $可能會有問題,如果標題作爲一個整體進行檢查,您可以用\n替換它。

[編輯]我發現指向JMeter page,並用它來對付你給的標題內容。顯然$是沒有必要的,搜索停止在一個界限。仍然不確定是否加倍反斜槓。實驗。

+0

我試過用正則表達式。但它無法從**位置**標題中提取參數。我需要從位置標題中獲取** code **參數。我嘗試**自動重定向**和**遵循Jmeter中的重定向**選項。它仍然不起作用。能否請你幫忙? –

+0

您是否嘗試過我建議的變體?我刪除了'$',但我仍然不太確定\?與\\?你必須嘗試兩種... – PhiLho

0

問題不在Saswat Sahoo提到的正則表達式提取器中。主要問題是位置標題甚至沒有得到Jmeter的Response頭。我們可以在瀏覽器的響應頭中看到位置標題。與瀏覽器的響應標題相比,Jmeter響應標題中缺少一些信息。