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个登录结果,分别用不同账号去登录了
在这里插入图片描述

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页