清除在jmeter中为循环控制器的每次迭代创建的会话

时间:2018-09-18 12:57:56

标签: jmeter session-cookies jmeter-plugins

我有一个jmeter树,如下所示。

ThreadGroup(20users,1 loop count)
cookie manager
launch
login
Loop controller(30times)
    https request1
          sessionID-1
    https request2
          sessionID-2   
    https request2

Cookie管理器在每次用户迭代之前清除cookie值(线程循环计数值)(如果我错了,请纠正我),而不是在jmeter中的循环控制器元素的每次迭代期间清除cookie值。

因此,我的要求是,我想在进行下一次迭代之前清除循环控制器组件每次迭代期间创建的所有会话。

更新:我只想清除在循环控制器内部创建的那些会话,而不是清除应该在https request1中使用的循环控制器(启动和登录)上方创建的那些会话。

在https request1处创建的会话将在同一循环控制器中的https request 4处使用。

2 个答案:

答案 0 :(得分:0)

  1. JSR223 PreProcessor添加为<script src="http://code.jquery.com/jquery-2.1.4.min.js"></script> testing map <div id="map"></div> <script> var map; function initMap() { map = new google.maps.Map(document.getElementById('map'), { center: {lat: -34.397, lng: 150.644}, zoom: 8 }); } </script> <script src="https://maps.googleapis.com/maps/api/js?GOOGLEMAPKEY&callback=initMap"></script>的子代
  2. 将以下代码放入“脚本”区域:

    https request1
  3. 就是这样,您将在每个Loop Controller的迭代中获得清晰的会话。

您可能还对Modifying Cookies in JMeter with Groovy文章感兴趣,以了解使用Groovy脚本使用Cookie还能做些什么

答案 1 :(得分:0)

您也许可以在运行时清除本地存储的会话值,但是除非您取消连接,否则您实际上无法断开与数据库的连接(例如)。会话将一直打开直到超时设置,但是由于已从本地存储中清除,因此您将无法访问这些会话。

因此,当您从应用程序注销时,必须找到会话关闭请求。您可以使用该请求,并在最后的jmeter脚本中添加。