参数化,能打开这篇博客看的应该都懂。。。最早我能想到的就是对传的参数进行参数化,比如手机号,我传131开头的、133开头的、135开头的,如果不会参数化,就要写三个http请求,分别传这三种参数,学会了参数化,只写一个http请求就够了,当然还会加点jmeter的其它一些小东西。以我的理解,jmeter有四种参数化,我只用熟了两种,不过这两种应该是最好用的两种,今天就主要说说这两种,另外两种会大概提一下。(又回来修改一下,感觉jmeter既然有四种参数化,就有它的原因,今天又明白了其中一个存在的原因,虽然还觉得函数助手有点多此一举了,所以下面主要有三种参数化的方法)

我学参数化时候用了“京东万象”的接口,那里提供很多接口可以供学习者使用,不用再因为学习接口测试而想办法抓包了。这里我主要用的是一个查询天气预报的接口,输入城市,就可以查这个城市的天气预报,下面是这个接口的信息。

下面介绍第一种参数化方法:CSV Data Set Config

        这种方法需要写一个参数文件,放在电脑指定一个地方,


        这个东西在配置元件里,按着名字找就行了。

名称:随意填写

Filename:写参数文件放置的位置,应该也可以用相对路径,相对路径和绝对路径,根据个人喜好选择。这里可以看出我在F盘的jmeter目录下,有个city.txt的文件。文件内容如下:

File encoding:这里应该是编码规则,先空着,如果编码不对可以试试utf-8。(这个接口我之前写了utf-8,运行结果有问题)

Variable Names (comma-delimited):这里是参数的引用名,我在这写的city(如果这里看不懂,先往下看)。这里只参数化了其中一个参数,如果多个参数,参数名之间用英文的逗号隔开,如city,province。上面那个参数的文件里的参数值,就要写两列,之间用英文逗号隔开,如石家庄,河北。(应该是这样的,如有需要可以试试)。

然后加一个http请求,具体怎么写不多说了,直接上图。

和一般的http请求差不多,只是在传参数那里,看第二个传的参数。这里我为了省事,传的city这个参数,后面的参数值,就是引用上面CSV Data Set Config的Variable Names (comma-delimited),那里我写的city,这里格式就是这样:${city}。写到这里应该比较清楚了,用CSV Data Set Config调取文件,获取参数值,放到http请求里传出去。

因为这里有四个参数,我要设置一下线程组。

这里线程数设置为4,执行时候就自动获取参数,把文件里的4个参数都获取一遍,如果参数很多,可以使用这种参数啊化方法。就像我用过一次测试手机号段的,从100-199,一共100个号段,就是用的这种参数化。

还有一种参数化,也是使用的外部文件,当参数值的,那个使用了一个函数助手,简单介绍一下。

函数助手是在上面菜单栏里选项—>函数助手对话框。

这里找到__CSVRead这个函数,函数参数这里可以看到两个参数,上面的就是参数文件的路径,和刚才一样,都在F盘那个目录;下面这个大概就是取第几列的意思,计算机都是从0开始计数,这里的0表示的是第一列。点击生成,生成的这个复制到http请求的city那个参数值那里就可以了,这里也要注意设置线程数。这个生成的字符串还是有规律的,看明白了也不用每次都打开函数助手生成,不过我还是喜欢用第一个那种参数化方法。

第三种参数化方法:用户参数

        用户参数是在线程组,右键,添加,前置处理器里的,看一下用户参数内容,很简单。

上面的名称和注释,内容随意。

我这里名称还是用的city,后面的用户1、2、3、4,就是四个参数,一定要勾选“每次迭代更新一次”,不然执行了几次,都是取的一个城市,http请求还和第一种参数化写法一样,再附一张图。

这个线程数也要记得改一下。这种参数化方法适用于参数少的情况。

第四种:用户定义的变量

这也是一种参数化方法,之前觉得有第一种和第三种就够了,因为用户定义的变量,并不能让一个参数有多个参数值可选,不明白为什么要有这个功能,直到今天突然领悟了,还要感谢项目中实践。之前测接口,有几百种情况,写了几百个HTTP请求,那会儿也没弄参数化,今天又发布了一版,而且IP地址变了,这下就得改几百个IP了,虽然只是简单的复制粘贴。改了几个突然想到了参数化,IP这里能不能参数化呢?如果能用哪种好?很快就想到了这个之前感觉很鸡肋的方法。下面就是这种参数化的使用方法,还是用的查询天气预报接口。(这期间把jmeter升成4.0了,只能截4.0的图了)

点下面的添加,就可以添加一行,把url写进这里了。如果想参数化端口号,再添加一行,写端口号就可以了。引用url方法和其它参数引用方法一样了。

IP那里被参数化了,可以执行。这么参数化下来,以后就不怕服务器IP再变了,如果变动,直接改一下用户定义的变量里面那个url的值就可以了。这种参数化方法适用于大量的HTTP请求里有相同的信息。(jmeter4.0可以设置成中文的,截图时候没设置)

jmeter也可以连接数据库,从数据库中查询的数据可以当参数,但是这应该不算参数化,从数据库中找到很多数据,能真正当参数的只有一个,我还没实现每条数据当一次参数的方法,不知道有没有,如果有后续会写出来。

上面介绍了参数化的用法,举得例子都是在http请求的Parameters里传参数,其实参数不止在这里用,同样http请求的Body Data里的参数也可以用参数化,看图。

这是实际工作中用的参数化,我在尝试各种手机号段注册能不能成功。

参数化也可以用在HTTP信息头管理器,断言也可以,就不附图了,我现在只用到了这几处,我想参数化还有其它地方的应用,不过用法都一样,就在实践中一点一点的琢磨了。

参数化虽然好用,但是也不是越多越好,根据自己情况,判断哪里需要参数化。

jmeter参数化的用法和用途相关推荐

  1. jmeter csv参数化_运用Jmeter参数化来实现接口自动化测试

    本文记录如何使用Jmeter参数化(csv)实现接口自动化--测试Token不同入参情况下,接口请求能够返回正确的结果 1. 首先需要使用Jmeter获取一个Token,如何获取暂略(同一般访问请求方 ...

  2. jmeter参数化之用户参数

    传参比较少的值(若参数值比较多请参考[JMeter 参数化 CSV引入文件 函数使用]) 1.jmeter-->线程组-->添加-前置处理器-用户参数,一个参数名 searchtxt 2. ...

  3. Jmeter 参数化请求实例

    Jmeter 参数化请求实例 在jmeter中的请求可以参数化,其中参数化的方式有4种:  1.CSV Data Set Config  2.数据库  3.用户自定义变量  4.用jmeter中的函数 ...

  4. Jmeter参数化的理解

    jmeter参数化有两种情况: jmeter执行的sql语句中值的参数化(如select过滤条件) csv data set config 参数表示方式${zjhm} jmx脚本的设置属性参数化,方便 ...

  5. Jmeter基础之JMeter参数化补充练习

    我们本篇文章演示在请求中,以Json形式的数据格式,实现JMeter参数化. 我们以小项目学院管理系统为例,下载地址:点击下载,里面有详细的启动配置说明和API接口文档. 接口文档如下: 学院-新增1 ...

  6. 玩转JMETER参数化

    JMETER 参数化 JMETER 跟LoadRunner 一样也有参数,一般在项目性能测试过程中间,不允许相同用户名和密码进行登录,这个时候就需要用到参数化,使每个虚拟用户都使用不同的用户名和密码进 ...

  7. jmter测试jmeter参数化(必须掌握)

    回顾接口测试知识 接口三要素: 请求地址/方式 请求参数 返回值 HTTP协议 请求方式 get 带参数 params 不带参数 只有一些地址 post x-www-form-urlencoded 参 ...

  8. 转载:Python 的关键字 yield 有哪些用法和用途?

    原始链接:https://www.zhihu.com/question/345210030/answer/841903171 Python 的关键字 yield 有哪些用法和用途? 飞鸿 人生到处知何 ...

  9. JMeter笔记9 | JMeter参数化

    9 | JMeter参数化 1 测试对象 2 分析 3 JMeter参数化 3.1 配置元件 3.2 CSV Data Set Config 3.2.1 元件介绍 3.2.2 界面参数 3.3 函数助 ...

最新文章

  1. 小程序---canvas画图,生成分享图片,画图文字换行
  2. JVM学习笔记(四)------内存调优
  3. 4G物联网网关和工业路由器的区别
  4. python移动文件中某个内容_如何在Python中移动文件
  5. mysql 安装绑定my.ini
  6. 分屏如何保持运行状态_如何提升心理素质,在比赛中保持更好的状态
  7. 安装Visio2010 64bit时提示不能安装32位版本的Office 2010 ,因为您当前已经安装了64位Office产品的解决方法(亲测可行)
  8. 基于java的药品管理系统_基于Java药品管理系统
  9. python计算器函数图像_Python图形计算器,python,图像,化
  10. win10服务器账号和密码,WIN10提示输入管理员用户和密码
  11. 三角测量计算三维坐标的代码_室内定位系统的三边测量与三角测量
  12. 【Audio音频兴趣拓展】如何调试频响曲线?
  13. lumion6.0的下载和安装教程
  14. 【PTA】日程安排(多重继承+重载)
  15. Datawhale数据分析思考与问题解决
  16. 几个常见网络故障修复命令
  17. 解决[Vue warn]: Unknown custom element: <ag> - did you register the component correctly? For recursive
  18. 微型计算机中的i3或i51般指的是什么,cpu到底有什么区别,i3,i5,i7?
  19. udp丢包 又是udp丢包
  20. 前端开发 html第二课 自结束标签 注释 标签中的属性 文档声明 进制 字符编码 文档使用 VScode 实体 meta标签 语义化标签 块元素和行内元素 布局标签

热门文章

  1. SiamFC++ SiamCAR SiamBAN
  2. Android 6.0 Marshmallow介绍
  3. 为什么苹果蓝牙耳机连上还是公放_高版本AirPods无线蓝牙耳机二代、三代开团啦!...
  4. F005-如是我观,知识产权 #F520
  5. 机器学习常见任务类型
  6. 数据库去重,group by、distinct、rowid的用法,oracle和mysql如何数据去重保留一条
  7. Linux ar命令(更改静态库相关属性信息)
  8. JavaScript图片轮播图
  9. (SSM解析错误)$%7BpageContext.request.contextPath%7D/account/save
  10. shell 批量 ping 多个IP地址