JMeter压力测试
- 一、 简介
- 1.1优点
- 1.2缺点
- 二、安装
- 2.1下载
- 2.2解决中文乱码问题
- 2.5配置环境变量
- 2.4启动
- 入门案例
- 三、线程组相关
- 3.1 创建多个线程组
- 3.2 并发和顺序执行
- 3.3 两个特殊的线程组(setUp/tearDown)
- 线程细节设置
- 默认http请求
- 新增接口
- 信息头管理器
- 四、 参数化
- 4.1用户定义变量
- 4.2 CSV数据文件设置(推荐)
- 4.3 用户参数
- 函数
- counter
- Random
- Time
- 五、 直接连接数据库
- 将查出来的数据放到百度上搜索
一、 简介
JMeter是Apache组织使用Java开发的一款测试工具
1、可以用于对服务器、网络或模拟巨大的负载
2、通过创建带有断言的脚本来验证程序是否能返回期望的结果
*:断言就是通过写一个程序,让这个程序帮我们判断实际结果与预期结果的关系。
1.1优点
1、开源、免费
2、跨平台
3、功能强大
1.2缺点
1、不支持IP欺骗
2、使用Jmeter无法验证JS程序,也无法验证页面UI,要配合Selenium来完成Web2.0应用测试
二、安装
2.1下载
前提条件:
由于JMeter是Java写的,必须安装Java环境
1):
1.JDK
2.JRE
2):
下载并安装JMeter:点我下载
安装:直接下载解压即可

2.2解决中文乱码问题
在找到bin目录下的jmeter.properties文件并打开
将此处的sampleresult.default.encoding的值改为UTF-8

2.5配置环境变量
1、如果计算机上卖弄没有JDK和JRE,是需要配置JDK和JRE的环境变量的。具体配置可以自行百度
2、配置JMeter环境变量:
新建变量名:JMETER_HOME
变量值:jmeter解压地址
编辑变量名:CLASSPATH
变量值:%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib/logkit-2.0.jar;
直接复制,最后的分号也要复制,全部点击确定保存
2.4启动
两种方法:
1、在bin目录下找到ApacheJMeyer.jar点击运行
2、windows下点击jmeter.bat(黑窗口不要关闭)
看到如下界面,则环境变量配置成功

入门案例
大致界面:
下面我们新建一个测试
1、右击测试计划>添加>线程组

接下来我们会进入到如下界面

2、进程组>取样器>HTTP请求

接下来我们会进入到如下界面

3、以我的接口为例,我的完整api是:http://127.0.0.1:8080/user/getAllUser 获取所有用户信息。对应的设置如下

4、如果想要运行并查看结果的话,我们可以右击user>添加>监听器>查看结果树

然后点击绿色三角按钮

查看结果

三、线程组相关
3.1 创建多个线程组

接下来我们可以新建多个线程组,并在每个线程组内添加多个http请求。
其实我们可以把项目看成一个进程,把一个模块堪称是一个线程组,然后模块里面的一些功能看作是一个线程。

我们如果要查看整个项目的测试结果,需要右击项目>添加>监听器>查看结果树
然后点击绿色按钮

我们可以看到,中间部分全部报红了。那是因为我只是打个样,并没有填写对应的数据
3.2 并发和顺序执行

设置并发或顺序执行
点击项目(测试计划)>勾选独立运行。。。

3.3 两个特殊的线程组(setUp/tearDown)

setUp:最先执行的线程组
tearDown:最后执行的线程组
setUp:可以测试一些初始化的操作
tearDown:可以测试需要最后操作的线程,如退出登录等

线程细节设置

默认http请求
我们可以通过设置默认http请求来简化我们线程组内的http的一些配置

当我们在默认http内设置了请求方式、ip地址、端口号时,我们可以在http请求内省略这些配置

新增接口
信息头管理器
新增修改(insert/update)实现时提交的数据时JSON格式的,需要声明提交的数据的内容类型
添加信息头:
右击项目>添加>配置元件>http信息头管理器

然后进行配置
名称:Content-Type
值:application/json:charset=utf-8

四、 参数化

4.1用户定义变量
🎆调用格式:${变量名}
添加用户变量
右击项目>添加>配置元件>用户定义变量

设置

调用

4.2 CSV数据文件设置(推荐)
CSV可以是实现批量新增和批量修改操作

新建一个CSV文件
内容如下:

保存为utf-8的格式

添加CSV设置
1、新建CSV配置

2、选择数据源

3、设置其他参数

4、在请求中进行调用

4.3 用户参数

演示:
1、添加用户参数配置
添加人员>右击>前置处理器>用户参数

2、添加变量和用户

3、进行变量和用户的详细配置

4、应为设置了3条数据,因此需要设置线程
将线程数设置为3

函数

counter
1、添加counter函数

2、生成counter代码并复制代码

3、粘贴

4、运行

当函数参数为false时,结果如下

Random
1、添加counter函数

同理将代码复制给http请求设置里,运行结果:

Time
1、添加Time函数

复制代码并运行结果

注意:如果时间函数参数不设置任何的format格式,则会生成一个时间戳
五、 直接连接数据库

1、加载jdbc驱动,我这里是Oracle的

添加JDBC请求

我们需要配置数据库连接池

2、此时我们应该添加一个JDBC Connection Configuration

下面的 mypool则是上面的JDBC Connection Configuration的参数值


在SQL框内输入SQL语句:select * from VDMS_USER
数据库连接成功!

3、添加Debug Sampler

再到JDBC Rquest里面将Varivable name的参数值设置为实际需要的,我这里设置的是:用户
接下来我们看看效果:

将查出来的数据放到百度上搜索
我们需要用到上面的调试取样器给出的: 用户_2
我们新建一个http请求

查看结果树:

测试成功!



















