zoukankan      html  css  js  c++  java
  • Jmeter CSV Data Set Config参数化

    在使用Jemeter做压力测试的时候,往往需要参数化用户名,密码以到达到多用户使用不同的用户名密码登录的目的.这个时候我们就可以使用CSV Data Set Config实现参数化登录:

    首先通过Test Plan或者Thread Group的Add->Config Element->CSV Data Set Config添加



     以下是CSV Data Set Config各个参数的简要说明:

    • FileName:即同目录下csv文件的名称
    • File Encoding: 默认为ANSI
    • Varible Names: 定义文本文件中的参数名,参数之间逗号分隔.定义后可在脚本在以Shell变量的同样的方式引用
    • Allow Quoated data: 双引号相关
    • Recycle on EOF: 设置为True后,允许循环取值
    • Stop Thread on EOF: 当Recycle on EOF为false并且Stop Thread on EOF为true,则读完csv文件中的记录后,停止运行
    • Sharing Mode: 设置是否线程共享

    设置2个线程去运行,结果如下:



    成功读取CSV中的参数.

    最后,我们需知Jmeter还有如下方式可以进行参数化:

      • User Defined Varibles: 一般对不需要改变的参数进行
      • User Parameters:
      • 通过系统函数: Options->Function Helper Dialog,通过自己输入参数值,点击"Generate" 按钮产生

    比如使用函数__CSVRead

      先准备csv文件,可以先在excel文件里准备好数据,保存的时候格式选择csv格式;

      

      输入csv文件所在的路径:F: est.csv,输入参数所在的列(注意:此处列数是从0开始数的,第一列是用户名,对应的列号为0,第二列是密码,对应的列号为1...),生成被调用的函数:${__CSVRead(F: est.csv,0)}

      

      在参数对应的值处填入:${__CSVRead(F: est.csv,0)}

      

    方法二、CSV Data Set Config

    选中取样器,右键:添加-配置元件-CSV Data Set Config,从csv文件中读取

    Filename:csv文件所在的路径以及名称如:F: est.csv ;(其实不一定要csv文件,亲测txt格式的文件也可以)

    File encoding:给出页面的编码方式,可以不填写;这里以百度为例,它的源代码里 ,所以这里File encoding:gb2312
    Variable Names(comma-delimited):给出变量名如:name,pwd;这里的变量名是给后面引用用的,如要用到这个文件的值,可以利用变量名来引用:${name},${pwd},如test.csv文件中有这样的数据:1@180chen.cn,abc1233,那${name}就可以引用到1@180chen.cn,${pwd}就可以引用到abc1233
    Delimiter(use ' ' for Tab):这个是用来隔开变量的分隔符,如上面的name,pwd,那分隔符就是“,”

    Allow quoted data?:是否允许引用数据,---这个目前还未弄明白,设置成True或者False都能正常引用数据。

    Recycle on EOF?:到了文件尾是否循环,True---继续从文件第一行开始读取,False---不再循环

    Stop thread on EOF?:到了文件尾是否停止线程,True---停止,False---不停止,注:当Recycle on EOF设置为True时,此项设置无效。

    Sharing mode:共享模式,All threads---所有线程,Current thread group—当前线程组,Current thread—当前线程。这个地方和LoadRunner中的迭代取之相反,经试验得出来的结果是:

        All threads:测试计划中所有线程,假如说有线程1到线程n (n>1),线程1取了一次值后,线程2取值时,取到的是csv文件中的下一行,即与线程1取的不是同一行。

        Current thread group:当前线程组,假设有线程组A、线程组B,A组内有线程A1到线程An,线程组B内有线程B1到线程Bn。取之情况是:线程A1取到了第1行,线程A2取第2行,现在B1取第1行,线程B2取第2行。

        Current thread:当前线程。假设测试计划内有线程1到线程n (n>1),则线程1取了第1行,线程2也取第1行。

    综上:CSV Data Set Config实现的功能跟之前用的:${__CSVRead(F: est.csv,0)}这个函数实现的功能大体上是一样的。

  • 相关阅读:
    笔记-归并排序
    Repeated Substring Pattern
    Assign Cookies
    Number of Boomerangs
    Paint Fence
    Path Sum III
    Valid Word Square
    Sum of Two Integers
    Find All Numbers Disappeared in an Array
    First Unique Character in a String
  • 原文地址:https://www.cnblogs.com/111testing/p/6414407.html
Copyright © 2011-2022 走看看