Jmeter 入门(二)四种参数化方式

参数化就是选取不同的参数作为请求内容输入。使用 JMeter 测试时,若要求每次传入的数据不一样,则需要对输出进行参数化。

为什么需要参数化?

1、相同数据被缓存导致测试结果不准确(如,服务器缓存了缓存数据,导致压测流程不全面)
2、流程不能正常执行(如,一笔订单只能被执行一次)

参数化方式

1、CSV Data Set Config:将参数化的数据放入文件中,参数化读取依赖于文件操作;适用于参数化数据量较多的场景,且维护比较简单灵活
2、User Defined Variables:可以配置脚本中的公共参数,如域名,端口号,不需要随着压测进行动态改变
3、Function Helper 中的函数:使用函数的方式生成参数,如果你需要随机数、uuid 等
4、数据关联:从A请求的响应中提取数据,共给其他请求使用


具体操作

一、CSV Data Set Config

  • 添加 CSV Data Set Config 元件


    CSV Data Set Config
  • 填写元件配置信息
    元件配置信息

    元件中各项参数含义:
    Filename(文件名):csv文件名称;
    File encoding(文件编码):文件的编码格式,根据需要填写,一般指定为 UTF-8 即可;
    Variable Names(变量名称):参数文件列名,如图userName、password,使用时通过“${变量名称}”即可;
    参数文件

    Ignore first line(忽略首行):第一行不作为数据读取;
    Delimiter(分隔符):文件中的数据分隔符;
    Allow quoted data(是否允许带引号):按需填写;
    Recycle on EOF(遇到文件结束符再次循环):多线程或线程组循环时,是否允许文件循环读取;
    Stop thread on EOF(遇到文件结束符停止线程):遇到文件结束符是否停止线程,与 Recycle on EOF 有关联;
    Sharing mode(线程共享模式):按需选择;
  • 发送请求
    login 请求信息与之前的教程一致
    login请求
  • 请求参数
    使用数据文件中的列名作为变量名
    参数替换
  • 查看结果
    请求参数已经替换为 csv 文件中的内容
    结果

    结果

    结果

User Defined Variables

  • 添加元件
    User Defined Variables
  • 设置 content-type 并替换 http header manager
    参数设置

    使用上一步设置的参数
    参数使用

Function Helper

  • 使用 tools -> function helper dialog,调试助手函数
    助手函数对话框

    测试
  • 应用
    助手函数使用

    查看结果

数据关联(另类的参数化)

提取一个请求的响应结果为参数,传递给其他请求使用该参数

以bean shell为例

提取“login”响应结果中的用户名给getListLike使用

后置beanshell

从响应结果中提取userName,输入到变量“g_user_name”中

参数提取

其他接口中使用提取的变量

参数使用

BeanShell中预设的变量(The following variables are set before the script is executed):

以 JSON 提取器为例

  • 添加元件
    JSON提取器

拿之前的响应结果,测试提取表达式

JSON提取测试

填写提取器信息
Names of created variables:提取数据写入的变量名。如图,将响应数据的用户名,提取到 user_name 变量中

提取

使用 user_name 变量

变量使用

查看结果
使用结果


总结:
jmeter四种参数化方式,大家可以在实际工作中灵活选用。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容