jmeter-登录参数化(CSV 数据文件设置)


前言
我们在压测登录接口的时候,如果只用一个账号去设置并发压测,这样的结果很显然是不合理的,一个用户并发无法模拟真实的情况。
如果要压测登录接口,肯定得准备几百,甚至上千的账号去登录,测试的结果才具有可参考性。
案例:
我现在有一个登录接口,登录接口文档基本信息

访问地址:http://127.0.0.1:8080/app/mobile/api/user/login
请求类型:POST
请求头部:Content-Type: application/json
在这里插入图片描述

我现在要压测这个登录接口,需设置30,50,80,100的并发数,那至少需要准备100个账号和密码

一、先保证一个登录接口能够登录成功

注册接口:
先保证一个账号和密码的时候能正常的请求成功
在这里插入图片描述

添加HTTP信息头管理器,添加 post 请求类型 Content-Type: application/json
在这里插入图片描述

二、测试数据准备

上面的单个用户能请求成功,接下来准备测试数据,自己先去注册批量账号和密码,我这里以11个账号和密码为例

18257008001,123456
18257008002,223456
18257008003,323456
18257008004,423456
18257008005,523456
18257008006,623456
18257008007,723456
18257008008,823456
18257008009,923456
18257008000,023456
18257008010,103456

账号和密码按以下格式,中间逗号隔开,保存为data.txt
建议大家平时使用时,用txt文件,尽可能不用csv文件。
原因有2点:

  1. 功能使用角度:txt文件内容默认保存的文件编码utf-8,csv文件内容默认保存文件编码,不是utf-8,csv文件设置元件,在使用时,选择【utf-8】可能出现中文乱码

  2. 从性能的角度,txt文件系统资源消耗少于csv文件

三、CSV数据文件设置

添加配置元件,CSV数据文件设置
在这里插入图片描述
文件路径:可以为绝对路径,也可以为相对路径,
相对路径
你的运行脚本 jmx文件保存在哪,就从这个地方开始
在/ \都可以,建议./使用
1.csv路径要使用相对路径
2.jmx文件和csv文件要放在一起给对方

导入txt的数据文件,用2个变量nmobile和psw中间参数默认是逗号隔开
在这里插入图片描述
CSV数据文件设置参数说明:

  1. 文件名 导入你的txt文件绝对路径,或者相对路径建议使用相对路径 文件编码 一般选UTF-8

  2. 变量名 你自己设置的变量,如果只有一个变量那就只写一个,有多个变量的时候中间用英文的逗号隔开

  3. 忽略首行 如果你的第一行就是测试的账号,默认False就行,如果第一行是title栏那就设置True忽略

  4. 分隔符 也就是你txt文件里面分割参数的符合,一般用英文逗号(英文逗号,或者tab 分隔(对应\t)) 是否运行带引用号 一般不用改,默认Fasle

  5. 遇到文件结束时循环它会循环从txt文件取值,如果全部取完了想继续那就是True,如果想文件的数据用完就结束,比如注册不可以重复用,那就设置False
    遇到文件结束符再次循环
    True 是的 再循环 会在文件最后一个值被用之后,重新开始取值
    False 不循环 会在文件最后一个值被用之后,一直用(但是文件取值是空)
    遇到文件结束符停止线程
    False 不停止,会一直运行下去
    True:是,会停止运行

  6. 线程共享模式 默认所有的线程就行

线程共享模式
1.all threads所有线程:所有线程按顺序取文件就行
例如 t1(第一个用户)取 row1(第一行),t2取row2…
2.current thread group当前线程组:所有线程组中的线程按顺序取行
例如 g1(第一个线程)t1(第一个用户)取row1(第一行), g1 t2取row2 … ; g2(第二个线程) t1取row1, g2 t2取row2 … ;
3. current thread当前线程
例如 t1取row1 t2取row1 t3取row1

四、查看结果

比如我把线程数设置为4,一个线程数就是代表1个用户,循环测试为3次
查看结果会有12个登录结果,分别用不同账号去登录了
在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
JMeter中,可以使用CSV数据文件设置组件来实现CSV文件参数化CSV数据文件设置组件能够从文件中读取一行数据,并将其切割成一个或多个变量放入内存中。相比于JMeter函数助手中提供的__CSVRead()、__StringFromFile()等函数,CSV数据文件设置组件更加简便易用。\[2\] 要使用CSV数据文件设置组件进行参数化,首先需要创建一个CSV文件,其中每一行代表一个测试数据,每个字段之间使用特定的符号进行分隔。然后,在JMeter中添加CSV数据文件设置组件,并配置文件路径、分隔符等参数。在测试计划中的请求中,可以使用变量名来引用CSV文件中的数据。 使用CSV数据文件设置组件进行参数化的好处是,可以方便地管理大量的测试数据,并且可以在不同的请求中重复使用同一份数据。这种方式适用于需要大量测试数据时的情况。\[3\] 除了CSV数据文件设置组件,JMeter还提供了其他几种参数化方式,如用户参数、用户自定义变量和函数助手。用户参数适用于参数取值范围较小、需要少量测试数据的情况。用户自定义变量主要用于设置全局变量,常用于配置常量信息。函数助手可以使用函数生成随机数字和随机字符串来实现参数化。\[1\]\[3\] #### 引用[.reference_title] - *1* [jmetercsv参数化](https://blog.csdn.net/fish_study_csdn/article/details/125443264)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [JMeter中如何实现参数化CSV)](https://blog.csdn.net/m0_37449634/article/details/121457126)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值