欢迎来到某某水务平台有限公司!

联系电话:020-88888888

新宝GG新闻

News
您的位置: 主页 > 新宝GG新闻 > 公司资讯

Jmeter的提取值存入csv或excel中,BeanShell PostProcessor后置处理器可满足

发布日期:2023-06-22 01:56浏览次数:69

实际用户场景:用户登录小游戏,可进行各种操作,例如查看排行榜,玩游戏,进行留言等,现在需要对三个接口查看排行榜/玩游戏/留言进行压测,有两种压测方案:

方案一:将登录接口和这三个接口放在一个线程组,也就是每个用户登录后,做三个操作后退出

方案二:将所有用户登录后不退出,随机抽取用户做这三个操作

显然,方案二更符合实际场景,那么问题来了,方案二用Jmeter怎么写这个压测脚本呢?思路就是先在一个线程组里,单独保存为login.jmx文件,调用登录接口,例如500个用户登录,将接口返回的500个token值提取出来,存入csv文件中,命名为tokens.csv,然后再开一个线程组,单独保存为game.jmx文件,调用排行榜/玩游戏/留言接口,这三个接口的token值可以在tokens.csv中获取,来模拟不同用户登录的场景。每次测试前,先运行登录接口的脚本获取token值,再运行排行榜/玩游戏/留言板等接口脚本,模拟不同用户进行操作。

下面主要介绍下调用登录接口,将返回的token值写入toekns.csv文件中的过程:

1、主要用到了正则表达式提取器和BeanShell PostProcessor后置处理器

正则表达式提取器,用来提取接口返回的token值,返回的接口信息:

2、将提取的token值存入csv文件中,需要用到BeanShell PostProcessor后置处理器,脚本如下:

代码以及注释:

FileWriter fstream = new FileWriter("/root/apache-jmeter-4.0/bin/tokens.csv",true);

//这里结尾的true表示续写,即数据每次写入都在最末行续上;默认值为false:每次跑这个脚本都会覆盖原有内容再写入

//路径可以换成windows机器的本地路径例如:D:\\dlink\\tokens.csv,本次是远程启动,直接写在远程服务器上了

BufferedWriter out = new BufferedWriter(fstream);

out.write(vars.get("token")+","+" ");

//将提取出来的token写入,注意加上 换行

out.close();

fstream.close();

注意:每次运行之前,需要在本地或者远程启动服务器删除tokens.csv文件,否则文件会一直覆盖,保存原来过期的token值,或者每次执行脚本之前,将保存的文件tokens.csv重命名

PS:全网同名,转载请注明出处?

查看更多 >>

案例推荐

友情链接: 耀世 高德 杏花 杏耀 欧陆 天富
Copyright © 2002-2022 首页-新宝GG-注册登录平台 版权所有 

平台注册入口