背景:
由于任务的原因,需要针对某个接口进行压测。但是压测这个接口时,需要获取用户的身份信息。如果先通过登录再进行压测的话,没有办法给出针对这个接口的压测数据。所以需要想办法直接将用户的身份信息(cookie+token)提前拿到,直接赋给压测的接口。
token可以通过登录接口获取,而cookie则是通过cookie管理器直接获取并赋予目标接口的,现在需要将cookie显性提取出来。
压测实现思路:
1、检查cookie和token文件是否有数据,有的话,执行线程组–【清除】
2、执行【登录】线程组,生成新的cookie和token文件
3、压测
文章来源:https://www.toymoban.com/news/detail-477640.html
1、用COOKIE Manager自动存储来提取cookie中的信息
1)找到jmeter安装目录中的Bin目录下jmeter.properties文件,修改CookieManager.save.cookies=true,将前面的#删除
2)重启jmeter
3)在jmeter中添加插件debug sample,直接脚本后,查看结果中cookie的值
2 处理cookie
1)通过使用 BeanShell 后置处理程序 将获取的cookie值保存到本地,供压测接口作为参数使用
//存储位置,可根据实际情况而定
FileWriter fs=new FileWriter(“F://xmfwzx//session.txt”,true);
BufferedWriter out =new BufferedWriter(fs);
//保存cookie值,用“,”作为分隔符。可根据情况做调增
out.write(vars.get(“COOKIE_G3_SESSION_V”)+“,”);
out.write(vars.get(“COOKIE_SZ_USER_SESSION_V”)+“,”);
out.write(vars.get(“COOKIE_SZ_USER_SESSION_V_CHECK”)+“,”);
out.write(System.getProperty(“line.separator”));
out.close();
fs.close();
2)cookie存储位置
3)更新cookie和token
由于每次压测前需要保证每次的cookie和token都是可用的,所以需要更新cookie和token值
这里的实现方式是,先删除已有的cookie和token,再创建新的cookie和token。
//删除token文件
String filename = “F://xmfwzx//token.txt”;
File file = new File(filename);
if(file.exists()){
file.delete();
FileWriter fs=new FileWriter(“F://xmfwzx//token.txt”,true);
BufferedWriter out =new BufferedWriter(fs);
}
else{
FileWriter fs=new FileWriter(“F://xmfwzx//token.txt”,true);
BufferedWriter out =new BufferedWriter(fs);
}
//删除session文件
String filename = “F://xmfwzx//session.txt”;
File file = new File(filename);
if(file.exists()){
file.delete();
FileWriter fs=new FileWriter(“F://xmfwzx//session.txt”,true);
BufferedWriter out =new BufferedWriter(fs);
}
else{
FileWriter fs=new FileWriter(“F://xmfwzx//session.txt”,true);
BufferedWriter out =new BufferedWriter(fs);
}
3、cookie的使用
文章来源地址https://www.toymoban.com/news/detail-477640.html
到了这里,关于jmeter -获取cookie管理器中的cookie值用于压测接口的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!