IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> JMeter使用相关记录 -> 正文阅读

[开发测试]JMeter使用相关记录

使用JMeter也有一阵时间了,一直没有做总结归纳,这次对常用的一些接口自动化、性能测试功能做个记录。

1,下载安装

下载地址:Apache JMeter - Download Apache JMeter

JMeter在Mac,Windows均可运行,根据需求选择对应版本即可。

一键式安装,因此具体下载安装步骤不做叙述。

2,语言切换

在Options-Choose Language内可切换语言,非常适合初学者。

3,测试计划,线程组,HTTP请求

① 刚打开JMeter会有个默认的测试计划。

② 需要先添加线程组。

?③ 之后添加取样器-HTTP请求。

④ 一个线程组内可以有多个请求,运行时会运行整个线程组。如果个别请求不需要运行,可以右键请求将其禁用。

?

?⑤ HTTP请求内需要填写的内容和常规接口一致:

protocol:请求方式,http/https

server name or ip:访问ip

port:端口号,默认80

method:请求方式

path:访问地址

content encoding:编码,一般为utf-8

parameters:传参

body data:body传参,一般为json格式

files upload:文件上传

⑥ 运行、停止、清理等按钮

?

4,HTTP信息头

HTTP信息头对应接口就是接口的header。

可在配置元件内添加,主要添加HTTP信息头内参数,如token等。

5,传参,用户参数

在JMeter中,经常会使用传参,而不是写死某个参数值。

传参使用 ${ }的方式,花括号内为参数名。

也可以添加前置处理器中的用户参数,配合传参使用。

① 用户参数在前置处理器内。

② 下图为用户参数和HTTP信息头截图,在用户参数中定义全局的参数,然后在信息头中引用,这样就可以配合传参,也可以一键修改和管理。

6,查看结果树,聚合报告

至此,一个最简单的HTTP请求就写完了,想要查看是否可以跑通,可添加监听器内查看结果树和聚合报告等查看。

① 在监听器内有许多报告类型。

② 查看结果树内可设置输出内容存放到文件,也可设置只展示错误/成功日志。?

③ 聚合报告主要是在性能测试中使用的,常用参数如下:

samples:样本数

average:平均响应时间

min,max:最小/最大响应时间

error:错误率

throughout:吞吐量,一般单位为 个/秒

同样,聚合参数也可以勾选只展示错误/成功数据。

7,CSV文件参数传递

在性能测试中,我们经常需要模拟客户场景,传一个参数肯定是不够的,此时常用CSV文件来配合传参,用法如下:

① 在配置元件内添加CSV Data Set Config。?

② CSV内常用参数:

filename:csv传参文件路径

file encoding:文件编码,默认为utf-8

variable names:参数名,需自定义,传参时使用 ${ XXX }

ignore first line:是否忽略第一行(根据csv文件内写法决定,若第一行是参数名,则需要忽略)

delimeter:参数分隔方式,如文件中使用的是逗号分隔,则填写逗号;如使用的是tab则填写\t;(如果此文本文件为CSV格式的,默认用英文逗号分隔)

allow quoted data:是否允许引用数据(在数据带“ ”时需要配置)

recycle on eof:是否循环,True=当读取文件到结尾时,再重头读取文件
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? False=当读取文件到结尾时,停止读取文件

stop thread on eof:当 recycle on eof 为False时,即当读取文件到结尾时,停止进程

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 当 recycle on eof 为True时,此项无意义

sharing mode:CSV文件的分享范围

③ 配套的CSV参数文件中,需填写对应的参数,如下图所示,我写了2个robotId作为demo,在CSV文件中可以每行写1条。

?

④ 在读取CSV文件后,实际并发时就会根据顺序使用多条数据进行测试,并根据设置的循环条件执行。

8,正则表达式提取器

在实际的接口场景中,有时需要通过获取上一条接口的传参,给到下一条接口作为输入参数,此时我们可以用正则表达式提取器来完成。

① 在后置处理器中添加?正则表达式提取器。

② 正则表达式提取器参数详解,我看到大佬一篇较为详细的博文,分享:

详解JMeter正则表达式提取器_六月的风-CSDN博客_正则表达式提取器应用场景:在一个线程组中,B请求需要使用A请求返回的数据,也就是常说的关联,将上一个请求的响应结果作为下一个请求的参数,则需要对A请求的响应报文使用后置处理器,其中最方便最常用的就是正则表达式提取器了。正则表达式提取器:允许用户从作用域内的sampler请求的服务器响应结果中通过正则表达式提取值所需值,生成模板字符串,并将结果存储到给定的变量名中。先上个图:各配置项介绍:APPly to:作用范围...https://blog.csdn.net/qq_29234631/article/details/80987492

③ 如图,我的需求是获取到response中的assetId,并通过传参的方式被下一条接口获取到,参数名为created_assetId。

9,JMeter自带函数

① JMeter自带较多函数,在如下图中2个位置可以选中。

② 以时间函数为例,在实际测试中,有时我们的参数值需要传时间戳来避免重复,可以选择time函数。通过点击generate & copy 可以生成函数,可直接在请求中调用,非常方便。

10,BeanShell后置处理器

上面我们提到了正则表达式提取器,但要注意,正则表达式提取器提取出来的内容,只能在当前线程组使用,那么,如果我们有多个线程组,如何使用到其他线程组提取出来的参数呢?

此时我们可以用BeanShell后置处理器将参数设置为全局值,提供给其他线程组使用。

① 添加后置处理器-BeanShell后置处理器。?

② 之后使用JMeter自带函数,使用setProperty设置值方法。如图,我这儿是把输出了参数login_token 的值。?

③ 然后在BeanShell后置处理器中调用此方法,就可以设置成全局值啦。

④ 在其他地方使用时,可以使用 __property或__P方法来获取参数。

11,断言

这一块已经有很多大佬写出很详细的文章了,此处添加大佬文章。

jmeter常用四种断言 - GeorgeXu - 博客园一、Response Assertion(响应断言)二、Size Assertion(数据包字节大小断言)三、Duration Assertion(持续时间断言)四、beanshell 断言(自由断言https://www.cnblogs.com/georgexu/p/11224095.html

12,文件导出

在多个监听器中均可以设置导出文件,需要填写本地已有文件。

13,并发数与并发设置

在线程组中的并发数与并发设置详解如下:

number of threads:并发数

ramp-up period:准备时长,即多少秒到达设置的并发数

loop count:循环次数,若选择forever,则一直循环

duration:持续时间,勾选scheduler时生效

startup delay:延迟时间,?勾选scheduler时生效

写的比较流水账,后续持续补充~~~

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-01-14 02:17:03  更:2022-01-14 02:19:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 4:29:08-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码