用Jmeter测试时包含两种情况的参数;一种是在url中,一种是请求中需要发送的参数。

设置参数值的方法有如下几种:

一、函数助手

用Jmeter中的函数获取参数值,__Random,__threadNum,__CSVRead,__StringFromFile,具体调用方法如下:
       ${__Random(,,)},$,${__CSVRead(,)},${__StringFromFile(,,,)}。

参看Jmeter函数的使用,通过菜单“选项”->“函数助手对话框”,即可在“函数助手”弹出框上找到Jmeter的函数。如下图:

其中${__Random(,,)}方法的第一个参数为随机数的下限,第二个参数为随机数的上限,第三个参数为储存随机数的变量名;

${__CSVRead(,)}方法中第一个参数是文件名,第二个参数是文件中的列(列数从0开始);

${__StringFromFile(,,,)}方法中第一个参数是文件名,该方法中没有指定读取文件中的哪一列的参数,所以只能读取包含一列的文件。

二、用户定义的变量

2.1 添加“配置元件”->“用户定义的变量”
      2.2 “名称”中输入变量名称,此处以登录为例,定义两个变量username和password。“值”中可以直接输入值,也可以通过Jmeter的函数__CSVRead,__StringFromFile从csv或dat文件中读取,还可以通过前缀加随机数的方法设置参数。
             当参数值是某个前缀加一个数字时,可以用前缀名加${__Random(,,)}或$的方法设置参数值。例如测试登录,先准备了用户名为perf_0到perf_1000的用户,那么用户名就可以设为perf_{__Random(0,1000,)}。

当参数值没有规律的且量不太大时,可以通过${__CSVRead(,)},${__StringFromFile(,,,)}从文件中读取,如将用户名和密码保存在user.csv文件中,user.csv的内容如下:
             

因为user.csv文件中有两列数据,所以只能用${__CSVRead(,)}函数,username参数后的值设为${__CSVRead(user.csv,0)},password参数后的值设为

${__CSVRead(user.csv,1)}。

三、从csv文件中读取

当参数的值没有规律且量不太大时,可以用这种方法。
       具体做法如下:
       3.1 创建一个csv文件,内容为参数的值集,每一个参数占一列,第一行就开始写参数值,不要写参数名
       3.2 在测试计划或线程组中添加一个“配置元件”->“CSV Data Set Config”;如图:

CSV Data Set Config各个参数使用说明:

  • Ignore first line (only used if Variable Names is not empty):忽略第一行(仅在变量名不为空时才使用)
  • Allow Quoated data: 双引号相关(例:如果参数中需包含,或者”等),该项选择True后,效果如下:

  • Recycle on EOF: 设置为True后,允许循环取值
  • Stop Thread EOF: 当Recycle on EOF为false并且Stop Thread EOF 为true,则读完csv文件中的记录后,停止运行,线程数及执行次数无效。
  • Sharing Mode:共享模式: 
    • All threads:所有线程,所有线程循环取值,线程1取第一行,线程二取下一行。
    • Current thread group:当前线程组,各个线程组分别循环取值。
    • Current thread:当前线程,该测试计划内的所有线程都取第一行。

3.3 Filename中填写步骤2.1中csv文件的完整路径(当csv文件在bin目录下时,只需给出文件名即可)
       3.4 Virable Names中填写变量名,如果csv文件中有多个变量,则用逗号隔开

四、从数据库中获取

当参数的值没有规律且量比较大时,可以选用这种方法。
     具体做法如下:
        4.1 下载MySQL JDBC “http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.12.zip/from/http://ftp.jaist.ac.jp/pub/mysql/
        4.2 解压下载的zip包后,将其中的mysql-connector-java-5.1.12-bin.jar放到Jmeter的lib目录下
        4.3 添加“配置元件”->“JDBC Connection Configuration”,设置下列参数,如图:

4.4 添加“Sampler”->“JDBC Request”,在SQL Query中输入查询语句,如下图:

4.5 在4.4中的JDBC请求中添加“后置处理器”->“正则表达式提取器”,以提取3.4中的用户名和密码为例设置正则表达式提取器的参数:

使用时,user_g1即为用户名,user_g2即为对应用户名的密码;更多正则表达式提取方法参见Jmeter正则表达式提取器

五、用正则表达式从前面请求的响应数据中提取,具体操作见Jmeter正则表达式提取器

Jmeter参数化方法的更多相关文章

  1. jmeter 参数化方法

    1.csv 看异步图书 JMeter实战60页

  2. Jmeter参数化的方法

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

  3. Jmeter接口测试系列之参数化方法

    至于参数化的用途,我这里就不多说了,本文主要介绍最全.最强大的参数化方法,对参数化有一个彻底的认识,这里提供了多种参数化方法 1.jmeter参数化之用户变量   在测试计划里面添加一个用户自定义的变 ...

  4. 【一】Jmeter接口自动化测试系列之参数化方法

    Jmeter作为虽然作为一款和LoadRunner相媲美的性能测试工具,但参数化功能实在不咋地,这里我大概总结了一下Jmeter的参数化方法! 至于参数化的用途,我这里就不多说了,做测试的都明白吧!本 ...

  5. JMeter参数化(一)

    JMeter参数化的4种方法:

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

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

  7. Jmeter 参数化请求实例

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

  8. Jmeter参数化-CSV Data Set Config

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

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

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

随机推荐

  1. li内有span需要右浮的问题

    图一和图二换了一下span的位置,但是其页面展示是一样的,兼容性比较好的是第二种

  2. 关于vue中钩子函数非常好的博客

    http://www.cnblogs.com/caimuqing/p/6728568.html

  3. oracle无法启动asm实例记录

    首先查看asm进程ps aux|grep asmasm进程没起进行下面操作su - gridsrvctl start asmexit查看ora进程ps aux|grep oraora进程没起进行下面操 ...

  4. Django--cookie操作

    day74 会话跟踪技术 什么是会话跟踪 我们需要先了解一下什么是会话!可以把会话理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应.例如你给10086打个电话,你就是客户端,而 ...

  5. LearnOpenGL学习笔记(二)——着色器简单理解

    着色器在OpenGL中发挥着重要作用,它就像一个画笔,将输入的数据流,转为数学坐标,再将三维坐标变成二维坐标(针对我们现在用的二维显示器,全息显示器肯是三维的),再把二维坐标实际的像素点位置(这里面肯 ...

  6. DNS服务器能遭受到的DDNS攻击类型

    每个网站都有可能会遭受到攻击,现在的互联网服务器遭受的最多的是DDOS攻击,本文总结了一些DNS服务器会遇到的DDOS攻击类型,以及相应的预防措施. [1]的作者将DDOS的攻击分为三种类型: 大数据 ...

  7. React native 环境搭建遇到问题解决(android)

    新建项目 react-native init TestApp 运行项目 react-native run-android 不好意思,错误马上就到了 问题一 通常遇到这个错误之后,系统会给出这个具体详情 ...

  8. 基本css说明

    /*-moz代表firefox浏览器私有属性 2.-ms代表ie浏览器私有属性 3.-webkit代表safari.chrome私有属性*/ body, dl, dd, ul, ol, h1, h2, ...

  9. C# 位运算详解

    运算符 描述 &(位与) 当两个二进制操作位都为1时,结果就为1 |(位或) 当两个二进制操作位有1个为1时,结果就为1 ^(位异或) 当两个二进制操作位只有1个为1时,结果为1 ~(位非) ...

  10. MVCHtmlHelper使用

    实例产品源码下载地址:http://www.jinhusns.com/Products/Download