我的测试计划中有cookie和缓存管理器。出于某种原因,我的time脚本已经使用相同的会话ID超过一周了,而在浏览器中手动测试时,每次用户登录时都会给出一个新的会话id。
在我请求的任何参数中,给出的这个会话值不在我的测试计划中。此值必须存储在某个地方。我可以看到cookie会话随每次登录而变化,而不是我的会话id。
有人知道如何在我的文件夹中跟踪这个值吗?所以我知道是我的缓存还是cookie在存储它。
我尝试过星象和其他文本字符串搜索工具,但什么也没想出来。
如有任何建议/指导,将不胜感激。
发布于 2015-01-14 09:58:58
如果您正在寻找将cookies存储为JMeter变量的方法,可以将CookieManager.save.cookies=true行添加到user.properties文件(它位于JMeter安装的/bin文件夹下)
需要重新启动JMeter才能获取此属性。
一旦设置,它将将所有cookies存储为以JMeter为前缀的COOKIE_变量。也就是说,如果您有cookie SESSIONID,您将能够在需要时将其称为${COOKIE_SESSIONID}。
您还可以将JMeter配置为在.jtl结果文件中保存cookies。为此,将下一行添加到user.properties文件中:
sample_variables=COOKIE_SESSIONID同样,需要重新启动JMeter。
如果您查看.jtl结果文件,您将在最后一列中看到SESSIONID值。它将允许您在结果分析期间跟踪用户会话。
这些值也可以作为命令行参数传递,而不是将user.properties文件编辑为
jmeter -JCookieManager.save.cookies=true -Jsample_variables=COOKIE_SESSIONID -n -t /path/to/testplan.jmx -l /path/to/testresults.jtl对于HTTP,不可能将缓存项存储在结果文件中,因为它们的结构相当复杂。但是,您可以启用缓存管理器上的调试日志记录,如下所示:
jmeter -Ljmeter.protocol.http.control.CacheManager=DEBUG这样,您就可以看到输出如下:
2015/01/14 12:57:16 DEBUG - jmeter.protocol.http.control.CacheManager: GET(OAH) http://google.com/ null
2015/01/14 12:57:16 DEBUG - jmeter.protocol.http.control.CacheManager: inCache http://google.com/ null
2015/01/14 12:57:16 DEBUG - jmeter.protocol.http.control.CacheManager: GET(OAH) http://www.google.by/?gws_rd=cr&ei=fD22VJarBovXygO57IDoCg null
2015/01/14 12:57:16 DEBUG - jmeter.protocol.http.control.CacheManager: inCache http://www.google.by/?gws_rd=cr&ei=fD22VJarBovXygO57IDoCg null
2015/01/14 12:57:16 DEBUG - jmeter.protocol.http.control.CacheManager: setCache(null,private, max-age=0,-1,null,http://www.google.by/?gws_rd=cr&ei=fD22VJarBovXygO57IDoCg,Wed, 14 Jan 2015 09:57:16 GMT) 参考文献:
https://stackoverflow.com/questions/27926570
复制相似问题