Jmeter

发布时间 2023-08-11 23:18:24作者: 暮雨星辰

Jmeter基础

请求头Content-Type类型

  • content-type: application/x-www-form-urlencoded
    • 最常见的POST提交数据的格式

默认类型

# 第一种,在 参数 中输入 名称 和 值

# 第二种,在 消息体数据 输入
key1=value1&key2=value2
  • content-type:application/json
{
    "key1": "value1";
    "key2": "value2"
}
  • content-type:multipart/form-data

​ 用于上传文件:勾选对POST使用multipart/form-data,添加不同后缀的文件,MIME类型也不同

image-20230808213746943

  • 表单提交multipart/form-datax-www-form-urlencoded的区别
    • multipart/form-data:可以上传文件或者键值对,最后都转换为一条消息
    • x-www-form-urlencoded:只能上传键值对,而且键值对都是通过&来分隔

HTTP请求默认值

右键线程组-配置元件-HTTP请求默认值

提取器

Json提取器

右键HTTP请求-后置处理器-JSON提取器

Snipaste_2023-08-07_22-22-03

参数关联${参数名称}

正则表达式提取

右键HTTP请求-后置处理器-正则表达式提取器

Snipaste_2023-08-07_22-16-19

参数关联${参数名称}

XPath提取器

  • 右键HTTP请求-后置处理器-XPath提取器

  • 表达式://标签名[@属性='值']/@要提取的属性

参数关联${参数名称}

登录参数化(CSV数据)

配置元件-CSV数据文件设置

Snipaste_2023-08-07_22-31-59

线程组上,设置线程数为数据的数据的行数

变量名引用:${变量名}

断言

响应断言

QQ截图20230807224737

JSON断言

Snipaste_2023-08-07_22-50-22

大小断言

Snipaste_2023-08-08_21-43-36

BeanShell后置处理器

BeanShell是一种脚本语言,一种完全符合java语法的java脚本语言

添加环境变量

${__setProperty(环境变量名称, ${通过JSSON或正则表达式提取出来的变量},)}

环境变量的使用

${__property(环境变量名称)}
${__P(环境变量名称)} # 作用同上

举例

# 设置 环境变量
${__setProperty(access_token_global, ${access_token},)}
# access_token 是由下面的正则表达式提取出来的
"access_token":"(.*?)"

# 引用 环境变量
bearer${__property(access_token_global)
bearer${__P(access_token_global)}

连接Mysql数据库

  • 环境准备:下载mysql-connector-j-8.1.0.jar,放到Jmeter的lib文件下面

  • 连接数据库:在Jmeter添加JDBC Connection Configuration配置元件

    Snipaste_2023-08-08_22-30-42

  • 数据库查询:在Jmeter添加JDBC Request取样器

    Snipaste_2023-08-08_22-35-49