有时候为了模拟更真实的场景,在项目中需要多用户登录并退出操作,大致参考如下
多用户登录前面已经实现:参考博文
多用户登录并退出jmx文件:百度网盘
提取码:0000
一、多用户退出操作
-
添加一个setUp线程组, 设置如下
-
在setUp线程组下添加一个BeanShell取样器(主要作用(初始化环境) :先检查本地有没有一个session.txt文件,有的话就先执行删除工作)
File file=new File("D:\\session.txt"); //在内存中新建一个file对象
if(file.exists()&&file.isFile()){ //如果file存在并且是一个文件
file.delete(); //删除这个文件
}
-
添加一个线程组,设置如下
-
添加一个CSV用来读取txt文件内的多账号
-
在线程组下添加仅一次控制器,加入访问首页和登录请求,加入正则(先获取到sessionid)再通过正则传给登录请求
-
在访问首页请求后添加一个BeanShell后置处理器,大致内容如下(主要作用是把登录的sessionid通过文件保存起来)
//创建一个FileWriter对象 将数据写入file文件末尾 true表示写入末尾,如果不写则是写入文件开头
FileWriter fileWriter = new FileWriter(new File("D:\\session.txt"),true);
BufferedWriter writer = new BufferedWriter(fileWriter); //创建一个缓冲区对象
writer.append(vars.get("session")+"\n"); //将获取到的session添加到文件里
if(writer != null) { //如果缓冲区对象不为空
writer.close(); //关闭文件
}
if(fileWriter != null) { //如果文件不为空
fileWriter.close(); //关闭文件
}
在登录请求下添加一个HTTP信息头管理器,添加cookie参数
-
添加一个tearDown线程组,设置如下
-
在tearDown下添加一个用户退出请求和CSV数据文件设置(来读取保存下来的登录sessionid)
-
添加一个HTTP cookie管理器,设置如下
-
执行后,结果如下(分别查看3个账号登录前和登录后的sessionid一致) --实现多账号登录和退出