如何在JMeter中修改/添加Cookie
How to modify / add to Cookie in JMeter?
我是JMeter的新手,需要您的帮助如何修改cookie。
场景如下:我正在测试一个提供多个问题答案的评估/考试网站。当用户做出选择并点击提交按钮时,页面中的JavaScript将他的答案(例如,"answerswers = BBAACDA…")附加到cookie中,并发出下一个GET请求(而不是POST请求!)。
因为,JMeter不执行JavaScript(正如它的手册中经常提到的——它不是浏览器),所以它不能将答案附加到cookie中。因此,我的测试计划无法识别用户交互。
如何添加/追加/修改动态cookie?提前感谢!
——Ishti
在groovy中使用Beanshell预处理器或更好的Jsr223预处理器,并使用这里提到的代码:
- http://javaworks.wordpress.com/2011/08/05/setting-cookie-in-jmeter/
import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;
CookieManager manager = sampler.getCookieManager();
Cookie cookie = new Cookie("<NAME>","<VALUE>","<HOST>","/",false,0);
manager.add(cookie);
我必须在代码中实现一些为我工作的更改:
import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;
CookieManager manager = ctx.getCurrentSampler().getCookieManager();
Cookie cookie = new Cookie("<NAME>","<VALUE>","<DOMAIN>","<PATH>",false,0, true, true, 0);
manager.add(cookie);
在http://jmeter.apache.org/api/org/apache/jmeter/protocol/http/control/Cookie.html
可以在groovy预处理器脚本中手动修改或添加cookie,方法与https://stackoverflow.com/a/38505077/5747304相同。
下面是如何通过浏览cookie管理器中的所有cookie来查找和编辑cookie:
import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;
log.info("#########################################################################");
// cookie manager
CookieManager manager = ctx.getCurrentSampler().getCookieManager();
def NbOfCookies = manager.getCookieCount();
for (def i = 0; i < NbOfCookies; i++) {
log.info("Cookie n° " + (i+1) + ": " + manager.get(i).getName() + ": " + manager.get(i).getValue());
if (manager.get(i).getName() == "Cookie_name_to_find") {
log.info("MAJ of Cookie_name_to_find");
manager.get(i).setValue("New_cookie_value");
log.info("-> " + manager.get(i).getName() + ": " + manager.get(i).getValue());
}
}
log.info("#########################################################################");
这是cookie管理器方法的列表,如添加或删除…: http://jmeter.apache.org/api/org/apache/jmeter/protocol/http/control/CookieManager.html。
这是一个cookie方法列表,用于修改更多属性,如域名,有效期…: http://jmeter.apache.org/api/org/apache/jmeter/protocol/http/control/Cookie .html
应该知道,根据cookie管理器中选择的标准,手动修改的值在请求之前仍然可以被管理器修改,所以您必须小心。
- 单击时将类添加到 ancer 标签并使用 cookie 保存
- 添加/删除类并使用Cookie记住所选内容
- 在Protractor中添加Cookie以测试AngularJS
- 可以't从JSON在Phantomjs中添加cookie
- 添加Cookie以在jQuery移动页面中保持字体大小
- 向js fiddle添加cookie以保存用户键入的内容
- 如何在 Drupal7 中单击按钮时添加 cookie
- 在网页上加载闪光横幅后添加cookie
- 如何在java脚本中单击时添加cookie
- 无法通过iframe添加cookie
- jQuery,slideToggle-添加Cookie以记住状态
- 向10万用户添加cookie时需要考虑的性能问题
- 添加cookie以切换侧边栏
- Cookies html + js添加cookie不工作
- 如何在JMeter中修改/添加Cookie
- 添加cookie以拖放
- 为什么在请求远程脚本时添加cookie
- 在引导可折叠侧边栏导航中添加Cookie
- Javascript websocket客户端向报头添加cookie
- 在我的游戏中添加cookie