2011-08-30 83 views
2

我對JMeter很新,但是我對JMeter可以用於什麼有一些想法。此外,我有一個啓用了表單身份驗證的Tomcat應用程序。我試圖使用線程組成:如何使用JMeter模擬Tomcat中的表單身份驗證?

  • HTTP請求默認值
  • HTTP Cookie管理
  • HTTP頭經理

和下面的一組HTTP取樣器:

  • 註銷頁面(/app/logout.jsp
  • 登錄頁面(/app/login.jsp
  • j_security_check(/ app/j_security_check

如果後續的重定向和使用的KeepAlive啓用。我無法弄清楚爲什麼j_security_check請求響應重定向到logout.jsp。在Chrome中檢查HTTP響應後,我注意到這樣的請求會重定向到index.jsp,但如果證書沒有問題,則永遠不會登錄到註銷頁面。首先,我有一個想法,我沒有模仿所有的瀏覽器的HTTP頭,但我失敗了我加入後他們都HTTP頭經理:

User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.859.0 Safari/535.2 
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.3 
Accept-Encoding gzip,deflate,sdch 
Accept-Language en-US,en;q=0.8 
Host localhost:8080 
Referer http://localhost:8080/whapp/index.jsp 

但即使是指定所有這些之後,我無法模擬身份驗證...任何想法?提前致謝。

回答

2

您是否嘗試錄製登錄過程,還是全部手動完成?

如果手動,可能有一個參數缺少您的請求之一。

如果記錄,可能有一個硬編碼參數需要動態(JSessionID等)您可能需要添加一個正則表達式來獲取這個值並傳遞給您的POST。

如果JSessionID被期望作爲參數,您將無法通過cookie管理器傳遞它,您需要將其作爲HTTP參數來完成。

有關記錄一個破敗的,請參閱http://jmeter.apache.org/usermanual/jmeter_proxy_step_by_step.pdf

+0

謝謝你的答覆,BlackGaff。所有這些都是手動完成的。我嚴格檢查每個HTTP頭,並且任何頭文件都與Chrome相同,除了每次重定向後幾乎不同的JSESSIONID Cookie(儘管我包含HTTP Cookie管理器)。這有點奇怪...你提到了錄音。你究竟是什麼意思? JMeter是否提供這樣的功能? –

+0

我更新了我的答案 – BlackGaff

+0

不知道。謝謝! –