jmeter工具

jmeter中实现每隔一定时间登陆

2020-09-06  本文已影响0人  常多多

       在实际项目的测试中,往往会遇到业务流程必须是先登录再执行后续相关操作的业务场景。有的登录请求中会用到token的验证,token的实效时长设定的比较短,项目组又不愿意去修改实效时长。此时在测试稳定性的过程中必须在token实效前重新进行一次登录操作。

        目前使用jmeter的测试过程中未想到其他的好方法,暂时的实现方法如下:

登录操作放到仅一次控制器中,在仅一次控制器中使用beanshell脚本获取当前的时间,仅一次控制器后面增加beanshell脚本判断运行时长,脚本后面增加if控制器判断运行时长,若超过条件则重新进行登录操作,并在if控制器下增加beanshell再次获取当前时间戳。

        具体jmeter脚本实现如下:

1、脚本结构

2、仅一次控制器中beanshell sampler获取当前时间内容:

long timestart = System.currentTimeMillis()/1000;

String timestartString = String.valueOf(timestart);

vars.put("timestartString",timestartString);

3、Beanshell 判断运行时长脚本内容:

long timesNow = System.currentTimeMillis()/1000;

String aaa = vars.get("timestartString");

long timestartLong = Long.parseLong(aaa);

long bbb = timesNow-timestartLong;

vars.put("bbb",String.valueOf(bbb));

//log.info("生成数值测试cccccccccc"+bbb);

4、if逻辑控制器中内容:jexl3函数的使用可自行查找。

5、if控制器下的beanshell sampler再次获取时间戳内容:

long timestart = System.currentTimeMillis()/1000;

String timestartString = String.valueOf(timestart);

vars.put("timestartString",timestartString);

//log.info("生成数值测试cccccccccc");

        以上是针对登录token实效后重新刷新或者登录的实现方法的记录,后续获取其他同学有更好的方法可分享学习。

上一篇 下一篇

猜你喜欢

热点阅读