我一直在使用JMeter,我遇到了一个特别与退出有关的问题。我使用以下脚本 -
TestPlan
HTTP Cookie Manager
HTTP Request Defaults
ThreadGroup - (scheduled for half and hour)
Once Only Controller
HTTP Request - login
Loop Controller - (forever)
HTTP Request 1
HTTP Request 2
....
HTTP Request 13
tearDown Thread Group
HTTP Request - logout
但问题是,即使注销响应看起来不错,用于JMeter脚本登录的用户实际上仍未注销。 (我可以像管理员一样监控)
答案 0 :(得分:0)
最有可能是你的"退出"链接只是通过JavaScript清除用户的cookie。根据{{3}}项目主页:
JMeter不是浏览器。就Web服务和远程服务而言,JMeter看起来像浏览器(或者更确切地说,是多个浏览器);但是JMeter不会执行浏览器支持的所有操作。特别是,JMeter不执行HTML页面中的Javascript。它也不像浏览器那样呈现HTML页面(它可以将响应视为HTML等,但是时间不包含在任何样本中,并且一次只查看一个线程中的一个样本)。
因此,可以通过清除cookie在JMeter中模拟Logout事件 - 请参阅"每次迭代清除Cookie" Apache JMeter
中的框注意:HTTP Cookie管理器(以及HTTP缓存管理器等)中的迭代是在级别定义和递增的,由循环控制器触发的循环,而控制器等等。不被视为"迭代"
还可以以编程方式清除cookie,即来自Thread Group