软件测试jmeter基本使用

1安装与配置

1.jdk下载

下载地址:https://www.oracle.com/java/technologies/downloads/#jdk18-windows(压缩包中会给)

2.jmeter下载

Apache JMeter - Download Apache JMeter(压缩包中有)

3.操作教学

打开软件后新建计划(新用户不用)

1.添加线程组

线程组------选择测试计划,右键-->添加-->线程-->线程组

补充

(1)线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。

(2)准备时长:设置的虚拟用户数需要多长时间全部启动。如果线程数为20 ,准备时长为10 ,那么需要10秒钟启动20个线程。也就是每秒钟启动2个线程。

(3)循环次数:每个线程发送请求的次数。如果线程数为20 ,循环次数为100 ,那么每个线程发送100次请求。总请求数为20*100=2000 。如果勾选了"永远",那么所有线程会一直发送请求,一到选择停止运行脚本。

2.HTTP请求------选择线程组:右键-->添加-->取样器-->HTTP请求

作用:录入接口请求参数信息

(1)请求名称,可不改

(2)Web服务器信息,网络协议(http/https)、域名或IP、端口号,可自行修改

(3)接口请求:请求方法(post/get)、请求路径、编码格式(utf-8),可自行修改

(4)参数传递:消息体数据存储JSON信息

http请求填写以这个为例

注意请求URL 、请求方法、请求负载 与下面类容相对应(名称自定义)

这里用户名密码是{"username": "NMG0001", "password": "123456", "nodeCode": "ZHYZ_BOSS"}

3.HTTP信息头管理器------选择线程组:右键-->添加-->配置元件-->HTTP信息头管理器

作用:可以存储请求头里面的信息

4.查看结果------选择线程组:右键-->添加-->监听器-->查看结果树

作用:查看接口运行结果

运行后

5.Http请求默认值------选择测试计划:

右键-->添加-->配置元件-->HTTP请求默认值

可以将后续线程或者Http请求公共的内容提取出来共同使用

比如协议和服务器ip等

原本的Http请求就可以改为

加了http请求默认值之后,在单个http请求里面还填写了同样的数据,那么以哪个为准就近原则------就近原则!

6.Beanshell后置处理器------选择线程组:

右键-->添加-->后置处理器-->Beanshell后置处理器

Beanshell后置处理器处理接口加入prev.setDataEncoding("utf-8") 返回中文的解析

7.接口与线程之间的传参 需求:

登录接口的返回token传给查询列表接口

①json提取器

(1)添加json提取器:右键http请求-》添加-》后置处理器-》json提取器,JSON提取公式:$..字段名

我是取的token(Authorization)

添加调试后置处理器便于查看

②正则表达式 (1)添加正则表达式:右键http请求-》添加-》后置处理器-》正则表达式提取器

参数说明: 引用名称:下一个请求要引用的参数名称,如token ,则可用${token }引用。

正则表达式:():要提取的部分。

.:匹配任何字符串。

*:零次一次或多次。

?:在找到第一个匹配项后停止

模板:用$$引用起来,如果表达式中有多个表达式,用12...,如"data":"(.*?)","id":"(.*?)", 模板为: 12

匹配数字:0代表随机取值,-1代表全部取值,一般默认0

缺省值:选中的情况下,若没有取得到值,给出默认值。

账号从文件表格中获取

8.参数化
(1)CSV Data Set Config方式
①新建CSV格式文件或者txt文件

我这用的txt

②CSV------选择测试计划,

右键-->添加-->元件-->CSV data Sat config

使用参数化变量:${变量名}

(3)数据库提取数据

①MySQL连接 拷贝解压后.jar驱动文件到JMeter安装目录"lib"文件夹下

Jmeter中建立"JDBC Connection Configuation":配置元件 --JDBC Connection Configuation

①MySQL连接

参数说明:

a) Variable Name: 数据库连接池的名称,可以有多个jdbc connection configuration,每个可以起个不同的名称,与JDBC Request中Variable Name必须保持一致

b) Database URL: 数据库url,jdbc:mysql://主机ip或者机器名称:mysql监听的端口号/数据库名称, 如: jdbc:mysql://localhost:3306/test

c) JDBC Driver class: com.mysql.jdbc.Driver

d) username:数据库登录的用户名

e) passwrod:数据库登录的密码

JDBC Request配置
参数说明:

a) Variable Name:数据库连接池的名字,需要与JDBC Connection Configuration的Variable Name Bound Pool名字保持一致

b) Parameter values:参数值

c) Parameter types:参数类型

d) Variable names:保存sql语句返回结果的变量名

e) Result variable name:创建一个对象变量,保存所有返回的结果

f) Query timeout:查询超时时间 g)

Handle result set:定义如何处理由callable statements语句返回的结果

②JDBC Request配置

参数说明: SQL Query:输入sql语句;多条sql语句必须用";"

Query Type:

Select Statement:仅支持测试select语句,并且一次只能测试一条

Callable Statement:只要语法正确,任何语句,再多的条数都能支持

如果是同时执行多条语句:JDBC Connection Configuration 中Database URL:配置中加上?allowMultiQueries=true 如:jdbc:mysql://localhost:3306/test?allowMultiQueries=true

③对提取的数据进行遍历

ForEach控制器 逻辑控制器->ForEach控制器

参数说明: Input Variable Prefix:输入变量前缀,本例中为:order_sn (与JDBC Requset中返回结果的Variable names:变量名一致)

Output variable name:输出变量名称,提供给其它控件引用 ,可自由命名,调用时使用该参数 Start index for loop(exclusive):循环开始的索引(默认从0开始,如果填写是2,实际是从2+1个开始执行)

End index for loop(inclusive):循环结束的索引 Add""before number:输入变量名称中是否使用""进行间隔。

查看结果
也可以加上 聚合报告便于观察
1.聚合报告

聚合报告中可以查看接口响应时间的情况,以及接口脚本执行过程中的错误率等情况,聚合报告中的时间单位为毫秒 响应时间主要参考平均值;测试目标对接口要求较高时参考90%

2.生成HTML格式的测试报告

dos窗口命令行方式 运行方法: ①保证cmd在Jmeter脚本所在目录打开 ②jmeter -n -t 脚本路径和名称 -l 日志名.txt -e -o 报告文件路径和目录名称

如果出现这个问题

就将

删掉

在运行指令
点击index.html 成功出现
相关推荐
文人sec7 小时前
性能测试-jmeter9-逻辑控制器、定时器压力并发
测试工具·jmeter·性能优化·模块测试
CesareCheung2 天前
JMeter分布式压力测试
分布式·jmeter·压力测试
测试界清流2 天前
jmeter使用技巧
jmeter
春时似衿里2 天前
jmeter配置数据库连接步骤
数据库·jmeter
新知图书2 天前
JMeter的安装部署
jmeter
程序员杰哥2 天前
什么是Jmeter? Jmeter工作原理是什么?
自动化测试·软件测试·python·测试工具·jmeter·职场和发展·测试用例
乐神嘎嘎嘎2 天前
Jmeter测试
jmeter
卓码软件测评2 天前
第三方软件测试机构【性能测试工具用LoadRunner还是JMeter?】
java·功能测试·测试工具·jmeter·性能优化
BatyTao3 天前
Jmeter执行数据库操作
数据库·jmeter
二宝哥3 天前
性能测试工具Jmeter之java.net.BindException: Address already in use
jmeter