我有一個問題,在這裏我看到很多關於這個的各種任務和答案,但到目前爲止我沒有任何工作。Jmeter將Cookie傳遞給不同的線程組,但仍然通過[沒有Cookie]得到請求
請仔細閱讀文章以查看是否重複的帖子。
我正在使用2個正在使用cookie的線程組。由於cookie不是跨線程組共享的,我使用該方法將它們「導出」到屬性中,並使用CookieManager的coookie類將它們「導入」回2ns線程組中。 我在第一和第二個線程組中放置了相同的http請求。很明顯,它在第一個,但在第二,我看到它使用[沒有餅乾]。
測試結構如下:
HTTP Cookie Manager
Thread A - 1 thread, 1 loop
- Login page
- Beanshell PostProcessor
props.put("ASPXAUTH_Cookie","${COOKIE_.ASPXAUTH}");
props.put("ASP.NET_SessionId_Cookie","${COOKIE_ASP.NET_SessionId}");
- Page X to hit - success
Thread B - 6 thread, 1 loop
- Login page
- Beanshell Prerocessor
import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;
import org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy;
HTTPSamplerProxy sampler = ctx.getCurrentSampler();
CookieManager manager = sampler.getCookieManager();
Cookie cookie1 = new Cookie(".ASPXAUTH",props.get("ASPXAUTH_Cookie"),"","/",false,0);
manager.add(cookie1);
Cookie cookie2 = new Cookie("ASP.NET_SessionId",props.get("ASP.NET_SessionId_Cookie"),"","/",false,0);
manager.add(cookie2);
- Same Page X to hit - failure
爲頁X初步結果:
GET http://Mysite/pages/MyView.aspx?subRoute=views&pageid=7168&routeName=dashboards
Cookie Data:
.ASPXAUTH=9CB09DD7A906ED67027E9B1ED71C707A498B8234C737169AA3EF1164890A217D9CCD1F1B32736338A7DFBF3DE0A07AD45F170A0F11FE49C827581C584577372D2D3C7D4F52DE1B73D3DE9A1263150B85F302DD01B9CF93AF380F5C63F618634CEEB5C3CFD95F1081EC28F5A556B21EAA; ASP.NET_SessionId=rg4dxqm1xai4wovvfvyezggo
Request Headers:
Connection: keep-alive
X-DevTools-Emulate-Network-Conditions-Client-Id: 08a74297-b666-496a-a1cb-620054bc5db5
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.94 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Referer: http://Mysite/pages/ui/
Accept-Encoding: gzip, deflate, sdch
Accept-Language: he-IL,he;q=0.8,en-US;q=0.6,en;q=0.4,fr;q=0.2
Host: load-rec-8
爲頁X第二結果(這是對第二個線程組):
GET http://Mysite/pages/MyView.aspx?subRoute=views&pageid=7168&routeName=dashboards
[no cookies]
Request Headers:
Connection: keep-alive
X-DevTools-Emulate-Network-Conditions-Client-Id: 08a74297-b666-496a-a1cb-620054bc5db5
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.94 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Referer: http://Mysite/pages/
Accept-Encoding: gzip, deflate, sdch
Accept-Language: he-IL,he;q=0.8,en-US;q=0.6,en;q=0.4,fr;q=0.2
Host: load-rec-8
請不要回答「不使用不同的線程組」,因爲我只使用1點登錄(第一線程組),而第二個線程組應運行相同的請求爲6個用戶同時並行。
無論我做了多少關於此主題的其他帖子的測試都沒有奏效。
有什麼想法嗎?
你肯定ThreadGroup2開始,一旦ThreadGroup1設置cookie的財產? ?如果沒有,你可以推遲threadgroup2,看看它是否有幫助嗎? – vins
@vins,是的,因爲我已經在測試計劃級別連續設置**運行線程組(即一次運行一個組)。 我也添加log.info打印到線程組2,並看到cookie被創建正確... –