参数化:指对每次发起的请求,参数名称相同,参数值进行替换,如登录三次系统,每次用不同的用户名和密码。
1.1.1. 从csv文件读取(CSV Data Set Config)
步骤:
1)新建一个文本文件,里面保存登录名和密码,如下:
 
Admin,123
Test,test
这里选用英文逗号为分隔符,也可在CSV Date Set Config中设置。
2)通过Test Plan或线程组的Add->Config Element 配置元件->CSV Data Set Config添加。
  3)在http请求中变量格式:${参数值,就是Varible Names中设置的名称}
  • Filename:同目录下csv文件的名称 或者 文件整个路径地址
  • File Encoding: 默认为ANSI
  • Varible Names: 定义文本文件中的参数名,参数之间逗号分隔.定义后可在脚本在以Shell变量的同样的方式引用,如文本中是用户名,密码。此处为 user,passwd
  • Allow Quoated data: 双引号相关
  • Recycle on EOF: 设置为True后,允许循环取值
  • Stop Thread on EOF: 当Recycle on EOF为false并且Stop Thread on EOF为true,则读完csv文件中的记录后,停止运行
  • Sharing Mode: 设置是否线程共享
 
1.1.2. 常见函数和使用函数助手
     JMeter中有一个函数助手功能,内置多个函数,我们可以利用函数来进行请求中的参数化设置。
1.1.2.1. _Random函数
操作如下:
  1. JMeter中选择“选项--函数助手对话框”,打开该窗口
  2. 选择一个功能:-Random
     设定最小值为1,设定最大值为100
     函数名称设为func1(看个人取)
     点击“生成”将生成的一个引用字符串${__Random(1,100,func1)},在需要的请求参数中拷贝该字符串即可。如下图所示:
 
  1. 填写文件路径和参数,方便其他地方使用;拷贝生成的字符串到需要调用该函数的地方即可,如下:
 
 
  1. 如果是在其他地方调用,则填写  ${命名的函数名},如下所示:
 
1.1.2.2. _StringFromFile函数   随机访问多个链接
 以本地的网站:192.168.1.200
 操作步骤:
  1. 建一个txt文件,如:
 
  1. 选项--函数助手对话框--选择"_ StringFromFile"函数
         该函数的功能是从一个文件中读取字符串。
 
  • 输入文件的全路径:输入读取文件的绝对路径
  • Name of variable in which to store the result:函数名称(只是用来存储变量的名称,不可以${名称}使用)
  • Start file sequence number:初始序列号
  • Final file sequence number:结束序列号
    在http请求中,将生成的字符串填入URL之中。
                                                                                                                   
 
 
如果是读取多个文件:那么设置如下:前提是文件名有规律可循(test#.dat)
如果目录下面有test2.dat、test2.dat、test3.dat、test4.dat,则按顺序读取这三个文件中的每行值,其中初始序列号表示文件后面的开始序号,如果有test1.dat文件将不会被读取,结束序列号类推;
                                                                                                                 
 
    另外使用的时候,我循环了10次,但是这三个文件我只设置了9行值,结果点击运行,显示只执行了9次,而不会循环从第一个文件中读取。
    如果只是想读取一个文件,直接在【输入文件的全路径】后面输入文件的路径即可,其余三个值不用填写,点击生成即可一样调用。
    如果希望让文件执行多次,可以按如下配置:
                                                                                                    
    表示test.dat文件将会被读取4次
    当线程组大于(文件行数*4)时,将只会执行(文件行数*4)次,而不会循环读取执行所有的设定线程组数,没有指定读取次数,则默认会循环读取数据。
1.1.2.3. _csvRead 函数
步骤:
1、先新建一个文件,例如c.txt,里面的数据存放为
  web@qq.com ,111111
  col@qq.com,111111
  mon@qq.com,111111
以上为使用的用户名和密码,也可以加其他参数,用逗号隔开,每一列表示一种参数,每一行则表示一组参数
2、在jmeter中的【选项】中选择【函数助手对话框】,将会弹出如下对话框:
                                                                                    
其中:
CSV file to get values from | *alias:要读取的文件路径,为绝对路径
CSV文件列号| next| *alias:从第几列开始读取,注意第一列是0
如上图所示,我们读取的是c.txt里面的第一列用户名(如果要读取第二列的密码,只需将0改成1即可,往后类推),点击【生成】按钮即可生成函数,我们使用时即拷贝生成的函数字符串:${__CSVRead(E:\c.txt,0)}
  1. 使用如下图所示:
                                                                                    
 
其中的值即为我们的生成的函数(${__CSVRead(E:\c.txt,0)}),jmeter执行时,如果是多线程,则从c.txt中第一行开始读取,如果设置的线程数大于c.txt中的行数,将会循环读取数据,通常该行数可用于参数化。
1.1.2.4. _Counter函数
每次调用计数器函数都会产生一个新值,从1开始每次加1。计数器既可以被配置成针对每个虚拟用户是独立的,也可以被配置成所有虚拟用户公用的。如果每个虚拟用户的计数器是独立增长的,那么通常被用于记录测试计划运行了多少遍。全局计数器通常被用于记录发送了多少次请求。
计数器使用一个整数值来记录,允许的最大值为2,147,483,647。
A、功能:这个函数是一个计数器,用于统计函数的使用次数,它从1开始,每调用这个函数一次它就会自动加1,它有两个参数,第一个参数是布尔型的,只 能设置成“TRUE”或者“FALSE”,如果是TRUE,那么每个用户有自己的计数器,可以用于统计每个线程歌执行了多少次。如果是FALSE,那就使 用全局计数器,可以统计出这次测试共运行了多少次。第二个参数是“函数名称”
B、格式: ${__counter(FALSE,test)} 
使用: 我们将“_counter”函数生成的参数复制到某个参数下面,如果为TRUE格式,则每个线程各自统计,最大数为循环数,如果为FALSE,则所有线程一起统计,最大数为线程数乘以循环数 
C、参数: 
第一个参数:True,如果测试人员希望每个虚拟用户的计数器保持独立,与其他用户的计数器相区别。False,全局计数器
第二个参数:重用计数器函数创建值的引用名。测试人员可以这样引用计数器的值:${test}。这样一来,测试人员就可以创建一个计数器后,在多个地方引用它的值。
D、操作测试_Counter函数,在参数列表加一个参数,值填写为${__counter(FALSE,test)}
如图:
                                                                                     
如上,设置为false,那么发送了多少个请求,counter1的最大值就等于最大请求数。
想知道counter1的值,可以通过结果树查看。
                                                                                   
参考:http://www.tuicool.com/articles/fq2qMb
1.1.3. 用户自定义变量
右击某个结点--》添加--》前置处理器--》用户参数,可以在这里添加参数,手动输入,然后再需要用到的地方引用 如下:${port}。
                                                                                       
注意:每次迭代更新一次,勾上JMeter
 

JMeter参数化实现的更多相关文章

  1. JMeter参数化(一)

    JMeter参数化的4种方法:

  2. 性能测试——jmeter环境搭建,录制脚本,jmeter参数化CSV

    一.Jmeter+jdk环境搭建 1.http://www.oracle.com/technetwork/java/javase/downloads/index.html,下载jdk. 直接安装就行了 ...

  3. Jmeter 参数化请求实例

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

  4. Jmeter参数化的方法

    测试接口时,使用Jmeter在请求中输入参数,若是有多种情况,有多条测试参数,是不是要每个情况逐条输入呢?逐条输入会让人觉得比较麻烦,因此,就有了Jmeter参数化. Jmeter参数化的方法: 用户 ...

  5. jmeter参数化读取数据进行多次运行

    jmeter参数化数据,可以使用csv,还可以使用数据库的方式 1.使用csv读取数据 在线程组中,配置原件中,选择csv data set config 1.本地创建了16个数据,存为test.tx ...

  6. Jmeter 参数化之 CSV Data Set Config 循环读取参数

    对于做接口和性能测试,个人感觉Jmeter是一个非常方便易学的工具,今天随笔记录Jmeter 参数化之 CSV Data Set Config. 首先在开始记录之前,先搞明白2个问题 1.什么是参数化 ...

  7. Jmeter参数化-CSV Data Set Config

    前言 一般来说,我们使用Jmeter来模拟HTTP请求时,比如模拟查询学生信息,我们通常把查询接口的入参(如学生姓名)写在HTTP请求中.当只需要查询1个学生的信息时,我们可以把这名学生的姓名准确的写 ...

  8. Jmeter参数化、检查点、集合点教程

    在使用Jemeter做压力测试的时候,往往需要参数化用户名,密码以到达到多用户使用不同的用户名密码登录的目的,这个时候我们就可以使用参数化登录. 一.badboy录制需要的脚本.也可以用fiddler ...

  9. jmeter 参数化大数据取唯一值方式

    jmeter 参数化大数据取唯一值方式 一.用时间函数: 因为时间戳永远没有重复,jmeter参数化,而且要取唯一值,可以考虑用时间函数加上其他函数一起: # 以13位的时间戳作为 userID no ...

  10. jmeter——参数化、关联、断言

    1.jmeter——参数化 三种方式: ${变量名} 1.1用户定义的变量 比如注册,登录都得用到手机号码,那就把手机号码自定义为变量 1)添加一个线程组--注册.登录HTTP请求--察看结果树--用 ...

随机推荐

  1. Servlet,JSP 中的中文乱码问题以及解决方案

    问题描述: 在Servlet,JSP 传递数据中,英文无影响,而中文有时候就会出现乱码. 解决方案: 相同的编码: 同一个项目中的每个文件应当设置和保存相同的编码方式,如: html中 <met ...

  2. hashlib,configparser,logging,模块

    一,hashlib模块 算法介绍 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等. 什么是摘要算法呢?摘要算法又称哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一 ...

  3. dataset的使用和图片延时加载的实现

    首先,先介绍一下关于javascript中dataset属性..html5中可以使用data-前缀设置我们需要的自定义属性,来进行一些数据的存放.下面是元素应用data属性的一个例子:~~~~~~~~ ...

  4. iOS 视频播放方式整理

    初衷 多媒体这整个系列的文章自己也准备好开始整理了,先从视频音频最简单也是最常用的播放出发慢慢的往下深究,探索到底层的编码解码等等,这篇文章就从视频的播放这个最简单的说起. iOS的视频播放方式有几种 ...

  5. 【垃圾回收】Java内存回收实践经验 防止内存报警

    jdk6和7服务器端(-server) 默认的新生代的垃圾回收器为:PS Scavenge,老年代默认的垃圾回收器为:PS MarkSweep 目前项目使用了jdk7,tomcat7,经常出现内存堆使 ...

  6. YiShop_商城网站设计应该注意什么

    商城网站的建设,不是一件简单的事情,当然,也不要把商城网站的建设想得那么的复杂,在建设商城网站的时候 ,只要考虑到以下这些因素,定能把商城网站建设工作做好.那么商城网站建设要考虑哪些因素:(1)风格 ...

  7. gulp入门详细教程

    简介:gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:她不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成:使用她,我们不仅可以很愉快的编写代码, ...

  8. 安装phpnow服务[Apache_pn]提示失败的解决方法

    win 7/win 8/Win10 phpnow提示"安装服务[Apache_pn]失败"错误解决办法汇总 常常在安装phpnow的时候,提示"安装服务 [ Apache_pn ] 失败&q ...

  9. Android长按事件和点击事件问题处理,OnItemLongClickListener和OnItemClickListener冲突问题

    今天在做demo时,须要设置ListView的item的长按和点击事件.OnItemLongClickListener和OnItemClickListener,然而点击事件能够实现,可是在长按操作时会 ...

  10. UVA 540(队列)

    Description  Team Queue  Queues and Priority Queues are data structures which are known to most comp ...