软件测试jmeter基本使用

 1安装与配置

1.jdk下载

软件测试jmeter基本使用_第1张图片

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

软件测试jmeter基本使用_第2张图片

软件测试jmeter基本使用_第3张图片

软件测试jmeter基本使用_第4张图片软件测试jmeter基本使用_第5张图片 

 软件测试jmeter基本使用_第6张图片

 2.jmeter下载

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

软件测试jmeter基本使用_第7张图片

软件测试jmeter基本使用_第8张图片

软件测试jmeter基本使用_第9张图片

软件测试jmeter基本使用_第10张图片

软件测试jmeter基本使用_第11张图片 3.操作教学

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

软件测试jmeter基本使用_第12张图片

软件测试jmeter基本使用_第13张图片

1.添加线程组

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

软件测试jmeter基本使用_第14张图片

软件测试jmeter基本使用_第15张图片

补充

软件测试jmeter基本使用_第16张图片

(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请求填写以这个为例

软件测试jmeter基本使用_第17张图片

软件测试jmeter基本使用_第18张图片

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

软件测试jmeter基本使用_第19张图片这里用户名密码是{"username": "NMG0001", "password": "123456", "nodeCode": "ZHYZ_BOSS"}

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

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

软件测试jmeter基本使用_第20张图片

软件测试jmeter基本使用_第21张图片

 软件测试jmeter基本使用_第22张图片

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

作用:查看接口运行结果 

软件测试jmeter基本使用_第23张图片 软件测试jmeter基本使用_第24张图片

运行后软件测试jmeter基本使用_第25张图片 

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

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

软件测试jmeter基本使用_第26张图片

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

比如协议和服务器ip等

原本的Http请求就可以改为

软件测试jmeter基本使用_第27张图片

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

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

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

软件测试jmeter基本使用_第28张图片

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

软件测试jmeter基本使用_第29张图片

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

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

①json提取器

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

软件测试jmeter基本使用_第30张图片

软件测试jmeter基本使用_第31张图片

我是取的token(Authorization)

软件测试jmeter基本使用_第32张图片

 添加调试后置处理器便于查看软件测试jmeter基本使用_第33张图片

软件测试jmeter基本使用_第34张图片

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

软件测试jmeter基本使用_第35张图片

软件测试jmeter基本使用_第36张图片

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

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

 .:匹配任何字符串。

 *:零次一次或多次。

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

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

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

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

 账号从文件表格中获取

软件测试jmeter基本使用_第37张图片

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

软件测试jmeter基本使用_第38张图片 我这用的txt

软件测试jmeter基本使用_第39张图片

 ②CSV——选择测试计划,

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

 软件测试jmeter基本使用_第40张图片

软件测试jmeter基本使用_第41张图片

软件测试jmeter基本使用_第42张图片

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

软件测试jmeter基本使用_第43张图片

(3)数据库提取数据

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

软件测试jmeter基本使用_第44张图片

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

软件测试jmeter基本使用_第45张图片

 ①MySQL连接

软件测试jmeter基本使用_第46张图片

参数说明:

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配置

软件测试jmeter基本使用_第47张图片

 参数说明:

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

软件测试jmeter基本使用_第48张图片

 ③对提取的数据进行遍历

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:输入变量名称中是否使用“_”进行间隔。 

软件测试jmeter基本使用_第49张图片

 查看结果

软件测试jmeter基本使用_第50张图片

也可以加上 聚合报告便于观察

软件测试jmeter基本使用_第51张图片

1.聚合报告

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

软件测试jmeter基本使用_第52张图片

软件测试jmeter基本使用_第53张图片

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

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

软件测试jmeter基本使用_第54张图片

软件测试jmeter基本使用_第55张图片 软件测试jmeter基本使用_第56张图片

如果出现这个问题

软件测试jmeter基本使用_第57张图片

就将

软件测试jmeter基本使用_第58张图片 删掉

在运行指令软件测试jmeter基本使用_第59张图片
软件测试jmeter基本使用_第60张图片点击index.html 成功出现软件测试jmeter基本使用_第61张图片

你可能感兴趣的:(jmeter,单元测试)