• jmeter的几种参数化方式 [1]


    在用到jmeter工具时,无论做接口测试还是性能测试,参数化都是一个必须掌握且非常有用的知识点。参数化的使用场景,例如:

    1)多个请求都是同一个ip地址,若服务器地址更换了,则脚本需要更改每个请求的ip

    2)注册账号,不允许账号重复;想批量注册用户时

    3)模拟多个用户登录,需要用到不同用户信息登录时

    4)上一个请求的输出结果用于下一个请求的参数传入,例如登录获取到的token信息,用于提交账单请求的参数调用

     

    在jmeter中,通过${变量名}来获取参数值。

     

    1、用户定义的变量

    1)线程组右键添加-->配置元件-->用户定义的变量,出现如下设置页面后

    输入名称、值;注意:名称可以自定义设置

    2)然后将设置后的变量名称,在注册、登录、充值请求中进行参数化引用${ip}、${phone}

     注意:引用的参数名跟用户定义变量设置的名称必须保持一致

    3)点击运行,查看结果树,显示成功

    2、函数助手获取参数值

    1)选择菜单栏 选项-->函数助手对话框,弹出函数助手框,功能下面有多个函数可供选择,我们主要看下__RandomString,其他可以自行了解下哟

    2)要进行多个账号注册(比如10个用户),注册信息要求手机号mobilephone不能重复;所以可以这么来思考,手机号前3位号段固定,那就对手机号后8位进行随机,页面设置如下:

    3)拷贝生成的函数字符串,粘贴进行参数引用

     

    4)设置线程组线程数为10,模拟10个虚拟用户的注册

    5)点击运行,查看结果树,显示成功

     

    3、CSV Data Set Config获取参数值

    1)若需要注册的手机号不能随机,必须是用户真实提供的手机号进行注册的话,就采用以下这种方式,提前收集用户真实手机号及昵称,存放在本地txt或者CSV文件(CSV文件默认逗号隔开)

     

    2)线程组右键添加-->配置元件-->CSV Data Set Config

     

    • Filename:需要传入文件的完整路径。我的文件位于D盘目录下,文件名为users.txt。
    • File encoding:参数文件的编码格式。可以不填。
    • Variable Names:对应参数文件中每列的变量名,也是你要引用到请求中的参数变量名。这里第一列是手机号、第二列是昵称。变量名可以自定义。
    • igonre first line(only used if Variable Names is not empty):当 CSV 文件中首行设置了变量名时,该项设为 true,此时每次请求读取文件时会自动忽略首行,直接读取第二行的数据。若首行未设置,则选择False
    • Delimiter:文件中的分隔符,默认英文的逗号分隔。所以注意txt文档中每行多个参数用英文逗号分隔。
    • Recycle on EOF: 设置为True后,允许重头循环取值;为False,当读取文件到结尾时,停止读取文件
    • Stop Thread EOF: 当Recycle on EOF为false并且Stop Thread EOF 为true,则读完csv文件中的记录后,停止运行,线程数及执行次数无效。
    • Sharing Mode:共享模式。All threads:所有线程,所有线程循环取值,线程1取第一行,线程2取下一行;Current thread group:当前线程组,各个线程组分别循环取值;Current thread:当前线程,该测试计划内的所有线程都取第一行。

    3)使用CSV Data Set Config中定义好

    a、直接参数化引用

    b、通过函数助手进行参数化引用

     

    4)设置线程组中线程数为5,执行后,输出如下结果:成功

      

    从数据库读取数据,关联的时候也会用到参数化方式,后续再抽时间整理~~

    ~~对该篇文章有任何想说的欢迎留言,也欢迎加右上角群号一起讨论~~

  • 相关阅读:
    apache bench(ab)压力测试模拟POSt请求
    使用pabot并发执行robotframework的testSuite
    Python实现简单的HTTP服务器(支持文件上传下载)
    Mac OS启动服务优化高级篇(launchd tuning)
    在MacOS下Python安装lxml报错xmlversion.h not found 报错的解决方案
    模拟恶劣网络环境常用的几种解决方案
    Web缓存基础:术语、HTTP报头和缓存策略
    RTMP直播应用与延时分析
    用Redis作为Mysql数据库的缓存【转】
    缓存雪崩,缓存穿透解决方案
  • 原文地址:https://www.cnblogs.com/tudou-22/p/9197992.html
Copyright © 2020-2023  润新知