我有一个问题,在那里我看到了很多关于此的问题和答案,但到目前为止对我没有任何帮助。
请阅读到最后,看看它不是重复的帖子。
我正在使用 2 个使用 cookie 的线程组。由于 cookie 没有在线程组之间共享,我使用该方法将它们“导出”到属性中,并使用 CookieManager 的 coookie 类将它们“导入”回 2ns 线程组中。我在第一个和第二个线程组上放置了相同的 http 请求。显然它在第一个工作,但在第二个,我看到它使用[no cookies]。
测试结构如下:
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 个用户并行运行相同的请求。
无论我对有关该主题的许多其他帖子进行的任何测试都没有奏效。
请问有什么想法吗?