怎么使用JMeter进行性能测试?

一、简介

JMeter是Apache软件基金会下的一款开源的性能测试工具,完全由Java开发。它专注于对我们应用程序进行负载测试和性能测量,最初设计用于web应用程序,现在已经扩展到其他测试功能,比如:FTP、Database和LDAP等。

Apache JMeter可以用来测试静态和动态资源,以及Web动态应用程序。它可以用来模拟对服务器,一组服务器,网络或对象施加重负载,以测试其强度或分析在不同负载类型下的整体性能。

二、下载

jmeter官网:https://jmeter.apache.org/

下载到本地后解压,配置环境变量即可使用。

JMETER_HOME

三、配置

1. 新建线程组

测试计划 -> 添加 -> 线程(用户)-> 线程组

2. 添加HTTP请求

也就是添加要测试的接口,一个线程组内可以添加多个HTTP请求。

线程组 -> 添加 -> 取样器 -> HTTP请求

3. 添加HTTP信息头管理器

线程组 -> 添加 -> 配置元件 -> HTTP信息管理头

HTTP信息管理头主要是用来配置我们的header里面的信息,比如用户登录成功后拿到access_token后,需要提供给后续的接口用来测试。

我们在建好的HTTP信息管理头内,放入我们的access_token配置,这里的值等用户登录成功拿到access_token后填充。

4. 添加登录请求
5. 添加后置处理器,获取access_token

登录请求 -> 添加 -> 后置处理器 -> JSON提取器

6.配置其它请求验证是否取到token

以查询所有客户信息为例

在请求之前我们先创建一个结果树,方便发起请求。

线程组 -> 添加 -> 监听器 -> 查看结果树

7.配置线程组信息

线程数就是并发的的意思。

线程数1,循环次数100次,就是一个用户循环请求100次

线程数50,循环10次,就是50个用户,每个用户循环调用10次

8.不同线程组怎么共享变量

之前我们通过登录获取token,并且给其它测试接口使用,是发生在同一线程组内的,如果不同的线程组就会获取不到token了。

如下图所示,新建一个线程组2,并创建一个HTTP请求,线程组1进行登录,返回token,在线程组2内拿不到。

要想跨线程组共享变量,就需要使用BeanShell后置处理器,将access_token设为全局变量。

线程组1 -> 添加 -> 后置处理器 -> BeanShell 后置处理程序

{__setProperty(token,{access_token},)};

在线程组中设置为全局变量后,在线程组2中的HTTP信息管理头中,获取全局变量。

${__P(token,)}

最后,在测试计划处设置独立运行每个线程组

全部设置完成后,我们来跑一把。

可以看到线程组2中的HTTP请求,已经可以拿到全局的token使用了。

相关推荐
love静思冥想1 小时前
JMeter 使用详解
java·jmeter
互联网杂货铺1 天前
几个常见的Jmeter压测问题
自动化测试·软件测试·测试工具·jmeter·职场和发展·测试用例·压力测试
ggggyyyyy09281 天前
接口测试-Fidder及jmeter使用
测试工具·jmeter·fiddler·接口测试
明月与玄武1 天前
Jmeter 分布式压测部署--常见坑以及解决方案
分布式·jmeter
字节程序员1 天前
使用JUnit进行集成测试
jmeter·junit·单元测试·集成测试·压力测试
hakesashou1 天前
jmeter怎么调用python
开发语言·python·jmeter
我非夏日1 天前
JMeter配置原件-计数器
jmeter
爱学测试的李木子1 天前
性能】JDK和Jmeter的安装与配置
java·开发语言·软件测试·测试工具·jmeter
rkmhr_sef1 天前
二、Jmeter Web压测
前端·jmeter
字节程序员1 天前
Jmeter分布式测试的注意事项和常见问题
软件测试·分布式·jmeter