前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Jmeter快速读写指定文件中的数据

使用Jmeter快速读写指定文件中的数据

原创
作者头像
王国清
修改2021-06-10 10:51:06
2.1K0
修改2021-06-10 10:51:06
举报

示例场景:通过批量的sessionid获取用户信息,通过“BeanShell Sampler”将用户信息写入指定文件

场景分析:

我们在小程序性能测试过程中,一般需模拟大用户量并发请求情况,所以需要获取不同用户的SessionId,然后通过SesionId获取用户的其它信息,如uid、codeId等,以防止用户量过少导致无法均衡命中所有后台服务器,使测试结果能真实反映服务器性能。所以在测试执行之前,我们需要批量的获取用户数据,用于待测接口的请求传参。

使用Jmeter可以简单、快速的实现数据的读写,主要步骤如下:

(1)通过“CSV Data Set Config”配置元件批量读取数据;

(2)通过“JSON Extractor”后置处理器提取响应的用户信息并参数化;

(3)通过“BeanShell Sampler”取样器写数据到指定的CSV或txt文件中(压测人员可利用此文件循环执行多用户请求)。

实现过程:

一、通过“CSV Data Set Config”配置元件读CSV文件中的数据

1.新建SessionId.csv文件,添加一列SessionId数据(sessionid可通过运维人员获取)

2.在Jmeter中添加“线程组”->“Add”->“Config Element”->“CSV Data Set Config”

3.配置“CSV Data Set Config”

二、通过“JSON Extractor”后置处理器提取用户数据

1.在Jmeter中,选中“HTTP Requset”并添加“JSON Extractor”

2.配置“JSON Extractor”,提取uid、codeId、zoning

3.添加“Debug Sampler”取样器,获取运行Debug信息,检查是否正确提示数据

4.配置好线程组和添加“View Results Tree”信息后,点击运行按钮

运行后提取uid、codeId
运行后提取uid、codeId

三、通过“BeanShell Sampler”取样器写数据到CSV文件

1.在Jmeter中选择线程组,添加“BeanShell Sampler”取样器

2.在“BeanShell Sampler”中,添加写文件Script

注:Linux中的文件路径是一个反斜杠“\”,windows中的文件路径是两个反斜杠“\\”,要不然运行时会报错。

Script代码如下:

//指定需要写入到哪个文件,格式:txt,csv

FileWriter file = new FileWriter("E:\\userInfo.csv",true);

//创建一个字符缓存输出流

BufferedWriter out = new BufferedWriter(file);

//写文件内容,vars.get:获取 jmeter 中的变量值

out.write(vars.get("sessionid")+","+vars.get("uid")+","+vars.get("codeId")+","+"440100"+"\n");

//关闭写数据流

out.close();

//关闭文件

file.close();

3.配置线程组,执行后可循环写入数据到userInfo.csv

运行结果如下:

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 场景分析:
  • 实现过程:
    • 一、通过“CSV Data Set Config”配置元件读CSV文件中的数据
      • 二、通过“JSON Extractor”后置处理器提取用户数据
        • 三、通过“BeanShell Sampler”取样器写数据到CSV文件
        相关产品与服务
        文件存储
        文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档