zoukankan      html  css  js  c++  java
  • Jmeter——添加参数的四种方法

    Jmeter添加参数的四种方法

    1.HTTP请求添加

    方法:1.添加的HTTP Request组件中找到Parameters页面下的add,添加自定义参数 。
       2.设置参数名称Name和参数值Value,如果是中文的,需要勾选URL Encode。
     

     

    评价:这种方法只能一次添加一个参数,和在path中输入变量是没有区别的(path中的输入是会自动Encode的)。所以不适合压测对参数值有数量要求的测试。

     

    二、用户定义的变量

    方法:
      1.右击线程组Thread Group,add->configure element->user Defined variables。设置如下图:
      
     
      2.变量定义:可以是具体的值,也可以是函数(函数可自动生成:选项->函数助手对话框)

       

      

      3.变量引用:Sample中引用变量的格式为${变量名}

      可以再Server Name or IP 和 Path等地方添加引用变量,也可以在Send Parameters With the Request中设置

      

    评价:当前的线程组内所有Sampler都可以引用变量,方便脚本更新;当参数发生变化时,只要在【用户定义的变量】中更新对应变量的参数即可,不需要逐个修改每个http中的参数。
       与上一个方法类似,不适合对压测参数有数量要求的测试。

     

    三、函数助手对话框

      方法: Tools->Function Helper Dialog

      

      1.__Random:在最大值和最小值之间取一个随机值。有三个参数:最大值,最小值,获取的随机值的变量名  

      例如,生成[1,100]内的随机函数


    注意:在设置线程属性时,循环次数必须大于1,随机函数才会生效

    例如${__Random(1,100,)},当设置线程数=10,循环次数=1时,10次随机函数的结果都是1;当循环次数>1时,才会随机取值

    2、__P:设置属性的默认值。有两个参数:变量名,默认值(默认值为1)。例如:${__P(hostname,XXX)}:返回属性hostname的值,如果没有定义该属性则返回值XXX

    3、__CSVRead:从CSV文件中读取字符串。有两个参数:文件名,第几列(0表示第一列)

    4、${__UUID}:随机取值,且结果唯一;区别于__Random(随机取值,结果有可能相同)

    评价:适用于数值型、日期等,不适合特定的参数。 
     

    四、创建CSV Data Set Config

    方法:
    1.右击Thread Group,add->configure element->CSV Data Set Config
     
     
    2.参数含义
    1)Filename:文件路径(如果和脚本同路径,只需要输入文件名;否则要输入全路径)
    2)File encoding:编码和文件格式保持一致,如果有中文,最好用UTF-8
    3)Variable names:参数名称,参数之间用,隔开
    4)Delimiter:输入文件(csv/dat等)中的分割符号;用 代替tab键
    5)Allow quoted data:当获取的数据中包含"时,要设置为True
    6)Recycle on EOF: 设置为True后,允许循环取值
    7)Stop Thread EOF: 当Recycle on EOF为false并且Stop Thread EOF 为true,则读完csv文件中的记录后,停止运行,线程数及执行次数无效
    8)Sharing Mode:共享模式: All threads:所有线程,所有线程循环取值,线程1取第一行,线程二取下一行;Current thread group:当前线程组,各个线程组分别循环取值;Current thread:该测试计划内的所有线程都取第一行
     
    3.调用CSV Data Set Config中的变量

    注意:csv需要注意分隔符(delimiter)以及从mysql导出的数据是带双引号""的。需要包含列名称,才能找到NAME的值。
     
    评价:可以从.csv、.dat等文件中获取数据,并将这些数据参数化。当数据发生变化时,只需要改原始文件,不需要改脚本。
       直接读取数据库表数据,对接口进行压测,避免了缓存的影响。
     
     
  • 相关阅读:
    sql2slack alash3al 开源的又个轻量级工具
    pgspider fetchq 扩展docker镜像
    godns 集成coredns 的demo
    godns 简单dnsmasq 的dns 替换方案
    aviary.sh 一个基于bash的分布式配置管理工具
    使用coredns 的template plugin实现一个xip 服务
    nginx 代理 coredns dns 服务
    基于nginx proxy dns server
    几个不错的geodns server
    spring boot rest api 最好添加servlet.context-path
  • 原文地址:https://www.cnblogs.com/LCharles/p/11389642.html
Copyright © 2011-2022 走看看