Jmeter接口测试中参数化的七种方法总结

在使用Jmeter做接口测试,性能测试过程中,经常会遇到参数化问题 。这里提供几种常用的参数化方法。
1.用户定义变量
一般用于变化不是特别大,但是还是需要进行参数化的变量,如:IP,端口等
1)点击线程租-配置元件-用户定义的变量,在页面输入需要参数化的变量和值。


image.png

2)在对应需要使用上述变量的地方引入,后续可通过查看结果树查看


image.png

也可直接在测试计划中直接添加用户定义变量,操作同上,不再重复。


image.png

2.用户参数
1)点击线程组-添加-前置处理器-用户参数
每次迭代更新一次:如果有多个用户/使用变量时勾选,如果不勾选,所有线程用的是同一个值,需要不同的线程用不同的值,需要勾选此选项


image.png

2)在Http请求中使用参数


image.png

3.user.properties文件
1)进入Jmeter安装目录的bin目录下,找到user.properties文件


image.png

2)用Notepad编辑器,打开user.properties文件,并在文件末尾添加需要定义的变量的参数,并保存关闭该文件


image.png

3)重新启动jmeter,使用函数助手中的函数,点击选项-函数助手对话框,选择函数__P。
属性名称:与user.properties文件中变量名一致
默认值:如果user.properties文件中没有设置要使用的参数值,优先使用该默认选项,如果文件中已设置就优先使用文件中的参数值
image.png

4)生成并复制函数字符串:${__P(ip,192.168.100.100)},在Http请求中使用参数


image.png

4.函数获取参数值
如:__Random,__threadNum,__CSVRead,__StringFromFile
具体调用方法可参见文章:https://www.jianshu.com/writer#/notebooks/17029642/notes/37820940

5.txt/csv 文件参数化
txt/csv 文件参数化方法是在性能测试中最常用的测试方法,将参数化的数据提前保存在以.txt 或者以.csv 结尾的文件中,多个参数使用,隔开
1)点击线程组-添加-配置元件-CSV Data Set Config

image.png

2)在当前测试计划存储的同一目录入,新增 01_定损打开定损单测试数据.csv文件,内容如下:
image.png

具体使用可参考:https://www.jianshu.com/p/7dee46e5fb27

6.从数据库中获取
1)以mysql为例,先要下载mysql驱动mysql-connector-java-5.1.12-bin.jar 下载地址:http://ftp.jaist.ac.jp/pub/mysql/Downloads/
2)将上述jar包放到Jmeter的lib目录下
3)点击线程组-添加-配置元件-JDBC Connection Configuration,建立JDBC连接。
4)添加“Sampler”-“JDBC Request”,在SQL Query中输入查询语句
5)JDBC Request请求中添加“后置处理器”->“正则表达式提取器”,以提取上一步中的参数。
可参考文章:https://www.jianshu.com/p/bd99f271e274

7.BeanShell参数化
通过使用BeanShell内置对象vars可以对变量进行存取操作
vars.get("name"):从jmeter中获得变量值
vars.put("key","value"):数据存到jmeter变量中,vars.put 中均为字符串
1)点击 线程组-添加-Sampler-BeanShell Sampler,在Script区域,构造变量accidentNo

image.png

代码如下:
//获取本次生成的随机数并赋值给JMeter变量
String randStr="
{__time(hhmmss,)}
{__threadNum}${__counter(,)}";
vars.put("randStr",randStr);
log.info("本次生成的随机数为:" + randStr);

String accidentNo="acc_"+randStr;
vars.put("accidentNo",accidentNo);
2)在Http请求中使用参数变量


image.png
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,530评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,403评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,120评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,770评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,758评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,649评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,021评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,675评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,931评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,751评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,410评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,004评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,969评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,042评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,493评论 2 343

推荐阅读更多精彩内容

  • 1 引言 这估计是目前国内能找到的相对比较全面的JMeter自动化测试介绍了吧。希望能给予您一点帮助。 1.1 J...
    __yanyan阅读 15,117评论 1 45
  • 一、使用jmeter函数助手 启动jmeter后,可以在JMeter的选项菜单中找到函数助手对话框(快捷键:Ctr...
    驕傲的兎孒阅读 1,492评论 0 3
  • 纪伯伦曾说过,友情是一个甜柔的职责。 而这份甜柔,责无旁贷的飘落在闺蜜的身上。 本期征集帖正是写一封六行书,给那个...
    简书活动精选阅读 3,024评论 5 38
  • 3月25日。 今天山里又停水停电了,虽不能说这四年之中是常事,但我也已不足为怪了,只能坦然接受。 在讲学堂看了会书...
    Yolanda侃影视阅读 296评论 3 2
  • 北京,晴,好日子。今天是周六,感觉渐渐进入了状态,充实了很多,还不是很忙。 以前总是喜欢买书,但是基本不看,我也无...
    博峰庸者阅读 609评论 0 49