Коллеги, добрый день
Возникли проблема с передачей cookie
Необходимо извлечь cookie из response и подставить в request
Использую систему ubuntu 16.04 LTS
apache-jmeter-3.0
1. В настройках jmeter.properties установил:
CookieManager.delete_null_cookies=false
CookieManager.save.cookies=true
CookieManager.check.cookies=false
Selection_009.png 101,88К 3 Количество загрузок:
2. Добавил HTTP Cookie Manager поверх Thread group
HTTP Cookie Manager.png 217,95К 3 Количество загрузок:
3. В Response
Response headers:
HTTP/1.1 200 OK
Date: Tue, 27 Feb 2018 08:50:52 GMT
Connection: Keep-Alive
Content-Type: application/json
Cache-Control: no-store, no-cache, private
Pragma: no-cache
Content-Length: 307
Content-Encoding: gzip
HTTPSampleResult fields:
ContentType: application/json
DataEncoding: null
Response Data:
{
"state" : 1,
"error" : {
"code" : 0
},
"queries" : [
{
"uuid" : "00000000-00000000-00000000-00000000",
"command" : {
"plm_type_code" : 205,
"state" : 3,
"session_id" : "372276a0279caee08057ff61d1d173c9b74c76374ab8742354f2407d909da3e93b944e7fef90bb56cdddb40224aba3bbb54a148a6a859fb641af5cf90ce97",
"manager_uuid" : "4f56d703-4f03ab59-5748518b-46bb701b",
"version" : "5.1.9",
"new_version" : ""
}
}
],
"has_undo" : false,
"has_redo" : false
}
4 В следующем Post Request:
POST data:
{"state":0,"session":"","queries":[{"uuid":"9aa29562-bb29167d-ee19049b-c39d9f5c","command":{"plm_type_code":206,"state":1}}]}
[no cookies]
Request Headers:
Connection: keep-alive
Referer: http://192.168.XX.XXX:30000/
Accept-Language: ru,en-US;q=0.7,en;q=0.3
X-Requested-With: XMLHttpRequest
Content-Type: application/json
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:58.0) Gecko/20100101 Firefox/58.0
Accept: application/json, text/javascript, */*; q=0.01
Content-Length: 125
Host: 192.168.88.104:30000
Необходимо подставлять значение session_id в последующие POST Request
В консоли браузера:
В request подставляется значение session_id
Post Request.png 421,06К 1 Количество загрузок:
Добавил BeanShell PostProcessor в запрос, из которого хочу извлечь cookie:
import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;
props.put("session","${session_id}");
BeenShell PostProcessor.png 252,8К 1 Количество загрузок:
В запрос, в которой хотел поместить cookie добавил BinShell PreProcessor
import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;
CookieManager manager = sampler.getCookieManager();
Cookie cookie1 = new Cookie("session_id",props.get("session"),"192.168.88.104","/query/query.php?",false,-1);
manager.add(cookie1);
BinnShell PreProcessor.png 357,06К 0 Количество загрузок:
В результате cookie не перадются в запросе:
View Result Tree.png 308,94К 1 Количество загрузок:
Буду благодарен любым советам