zoukankan      html  css  js  c++  java
  • Jmeter参数化方法

    用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正则表达式提取器

  • 相关阅读:
    ftp连接
    Excel表格内容导出到页面
    jquery 元素前或插入一元素
    sql 查出相同的记录 并把相同记录 显示在一起
    ie 使用window.open页面报错
    java生成word文档
    myeclipse导入项目
    java生成临时文件夹和删除临时文件夹
    正则学习笔记
    React和Vue的组件更新比较
  • 原文地址:https://www.cnblogs.com/LancyWu/p/7827747.html
Copyright © 2011-2022 走看看