2015-10-06 43 views
0

我需要使用jMeter測試我的REST服務。我需要先登錄,然後多次調用REST服務。Jmeter通過記錄會話發出請求

!! Http Cookie Manager無法正常工作!

問題:

HTTP請求登錄 - 在這裏,我需要得到JSESSIONID

POST http://localhost:8080/xxx/index.faces 

POST data: 
form-login=form-login&j_username=xxx&j_password=yyy 

[no cookies] - ??? 

Cabeceras de petición: 
Connection: keep-alive 
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0 
Content-Type: application/x-www-form-urlencoded 
Content-Length: 76 
Host: localhost:8080 

在瀏覽器返回:

JSESSIONID=E9A3BC9C290549F32EB278133337450A; Path=/xxx/; HttpOnly 

HTTP Cookie管理器 - 它應該保存cookies

HTTP請求到REST - 失敗,導致JSE SSIONID未設置

GET http://localhost:8080/xxx/rest/yyy/list 

[no cookies] 

Cabeceras de petición: 
Connection: keep-alive 
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0 
Host: localhost:8080 

jmeter configuration

回答

0

你把cookie管理器的請求之前?

+0

是的。我試過所有可能的組合:( – Valijon

+0

)把它放在採樣器Controlador之前,簡單,不在採樣器中,它會工作 – Imlus

+0

不起作用仍然說:沒有cookie – Valijon

0

將HTTP標題管理器添加到請求中,並將JSESSIONID作爲名稱並將${COOKIE__JSESSIONID}作爲「存儲在標題管理器中的標題」部分中的值。

這會將JSESSIONID的值從Cookie傳遞到HTTP請求標題。

+0

沒有。$ {COOKIE__JSESSIONID}沒有恢復: ( – Valijon

1

最後,我想出了爲什麼不工作。 Cookie管理器完美工作。 登錄頁面實際上預計爲javax.faces.ViewState id,以便將jmeter請求傳遞給登錄提供程序。有一次,我解決了它(),javax.faces.ViewState變得無狀態,讓我登錄成功。感謝您的幫助 enter image description here