『动善时』JMeter基础 — 57、Linux系统中运行JMeter脚本-编程思维

『动善时』JMeter基础 — 57、Linux系统中运行JMeter脚本

在Linux系统中运行JMeter脚本,需要有两个前提:

  1. Linux系统中配置好Java环境。
  2. Linux系统中配置好JMeter环境。(因为JMeter的运行需要Java环境)

1、Linux系统中安装Java环境

环境说明:

  • Linux系统:CentOS 7.8
  • Java版本:JDK 1.8

准备操作:

  • 下载JDK 1.8安装包:jdk-linux-x64.tar.gz(包名会不同)
  • jdk-linux-x64.tar.gz安装包,传入Linux系统的/usr/java/目录中。

(1)解压Java安装包

# 1.查看安装包路径
[root@localhost ~]# ll /usr/java/
总用量 181192
-rw-r--r--. 1 root root 185540433 6月   5 22:19 jdk-linux-x64.tar.gz
[root@localhost ~]# 

# 2.解压Java安装包,得到jdk1.8.0_131文件夹
[root@localhost /]# cd /usr/java/
[root@localhost java]# tar -zxvf jdk-linux-x64.tar.gz
[root@localhost java]# ll
总用量 181192
drwxr-xr-x. 8   10  143       255 3月  15 2017 jdk1.8.0_131
-rw-r--r--. 1 root root 185540433 6月   5 22:19 jdk-linux-x64.tar.gz

(2)配置Java环境变量

/etc/profile文件中,配置Java的环境变量。

配置内容如下:

# 配置到文件的最下方
export JAVA_HOME=/usr/java/jdk1.8.0_131
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}

如下图所示:

image

提示:

保存完之后,我们还需要让刚刚配置的环境变量生效,通过source /etc/profile命令,让系统重启加载/etc/profile文件中的内容,使其立即生效。当然也可以重启电脑生效。

(3)验证Java环境是否配置成功

执行命令:java -version

出现如下内容,说明Java环境配置成功了。

[root@localhost ~]# java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

2、Linux系统中安装JMeter

(1)下载JMeter

JMeter下载地址:http://jmeter.apache.org/download_jmeter.cgi

在该页面中,点击apache-jmeter-5.4.1.tgz下载。

如下图所示:

image

(2)把JMeter安装包传入Linux系统

apache-jmeter-5.4.1.tgz文件,传入Linux系统的/usr/local目录中。

[root@localhost local]# pwd
/usr/local
[root@localhost local]# ll
总用量 69048
-rw-r--r--. 1 root root 70704620 6月   5 23:27 apache-jmeter-5.4.1.tgz
drwxr-xr-x. 2 root root        6 4月  11 2018 bin
drwxr-xr-x. 2 root root        6 4月  11 2018 etc
drwxr-xr-x. 2 root root        6 4月  11 2018 games
drwxr-xr-x. 2 root root        6 4月  11 2018 include
drwxr-xr-x. 2 root root        6 4月  11 2018 lib
drwxr-xr-x. 2 root root        6 4月  11 2018 lib64
drwxr-xr-x. 2 root root        6 4月  11 2018 libexec
drwxr-xr-x. 2 root root        6 4月  11 2018 sbin
drwxr-xr-x. 5 root root       49 3月  15 09:35 share
drwxr-xr-x. 2 root root        6 4月  11 2018 src

(3)把JMeter安装包解压缩

# 解压安装包
[root@localhost local]# tar -zxvf apache-jmeter-5.4.1.tgz

# 得到解压后jmeter目录
[root@localhost local]# ll
总用量 69048
drwxr-xr-x. 8 root root      138 1月   2 1970 apache-jmeter-5.4.1 (这个就是)
-rw-r--r--. 1 root root 70704620 6月   5 23:27 apache-jmeter-5.4.1.tgz
drwxr-xr-x. 2 root root        6 4月  11 2018 bin
drwxr-xr-x. 2 root root        6 4月  11 2018 etc
drwxr-xr-x. 2 root root        6 4月  11 2018 games
drwxr-xr-x. 2 root root        6 4月  11 2018 include
drwxr-xr-x. 2 root root        6 4月  11 2018 lib
drwxr-xr-x. 2 root root        6 4月  11 2018 lib64
drwxr-xr-x. 2 root root        6 4月  11 2018 libexec
drwxr-xr-x. 2 root root        6 4月  11 2018 sbin
drwxr-xr-x. 5 root root       49 3月  15 09:35 share
drwxr-xr-x. 2 root root        6 4月  11 2018 src

(4)配置JMeter环境变量

/etc/profile文件中,配置JMeter的环境变量。

配置内容如下:

# 配置到文件的最下方
export JMETER_HOME=/usr/local/apache-jmeter-5.4.1
export PATH=$PATH:${JMETER_HOME}/bin

如下图所示:

image

提示:

保存完之后,我们还需要让刚刚配置的环境变量生效,通过source /etc/profile命令,让系统重启加载/etc/profile文件中的内容,使其立即生效。当然也可以重启电脑生效。

(5)验证JMeter环境是否配置成功

执行命令:jmeter -v

出现如下内容,说明JMeter环境配置成功了。

[root@localhost ~]# jmeter -v
    _    ____   _    ____ _   _ _____       _ __  __ _____ _____ _____ ____
   / \  |  _ \ / \  / ___| | | | ____|     | |  \/  | ____|_   _| ____|  _ \
  / _ \ | |_) / _ \| |   | |_| |  _|    _  | | |\/| |  _|   | | |  _| | |_) |
 / ___ \|  __/ ___ \ |___|  _  | |___  | |_| | |  | | |___  | | | |___|  _ <
/_/   \_\_| /_/   \_\____|_| |_|_____|  \___/|_|  |_|_____| |_| |_____|_| \_\ 5.4.1

Copyright (c) 1999-2021 The Apache Software Foundation

3、Linux系统中执行JMeter脚本

把JMeter脚本,放入/usr/local/apache-jmeter-5.4.1/bin目录中。(脚本可以不添加监听器)

然后进入到/usr/local/apache-jmeter-5.4.1/bin目录中,执行如下命令:

jmeter -n -t CLI_test.jmx -l result.jtl

参数解释

  • -n:表示non gui mode,就是非图形化模式。
  • -t:指定JMX脚本路径,即test plan(测试计划)。后面跟需要运行的JMeter 脚本的路径和脚本名称。
  • -l:指定结果文件路径。后面跟输出结果文件路径和结果文件名称。
    1)若没有指定指定结果文件路径,则自动创建,可以生成.csv文件或者.jtl文件。
    2)若只写脚本名称,则默认是在当前目录查找或创建。
  • -e:设置测试完成后生成测试报表。
  • -o:指定测试报表生成文件夹。文件夹必须为空或不存在。

运行结果如下:

[root@localhost bin]# jmeter -n -t CLI_test.jmx -l result.jtl
Creating summariser <summary>
Created the tree successfully using CLI_test.jmx
Starting standalone test @ Sun Jun 06 11:47:20 CST 2021 (1622951240796)
Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445
summary +    101 in 00:02:09 =    0.8/s Avg: 64563 Min: 63303 Max: 64680 Err:   101 (100.00%) Active: 100 Started: 100 Finished: 0
summary +     99 in 00:00:00 =  322.5/s Avg: 63416 Min: 63276 Max: 63535 Err:    99 (100.00%) Active: 0 Started: 100 Finished: 100
summary =    200 in 00:02:09 =    1.5/s Avg: 63995 Min: 63276 Max: 64680 Err:   200 (100.00%)
Tidying up ...    @ Sun Jun 06 11:49:32 CST 2021 (1622951372015)
... end of run

补充说明

因为我们配置了JMeter的环境变量,所以我们在任何目录中都能够执行JMeter命令。

如下所示,在Linux中的/root目录中,执行JMeter测试脚本,也是一样运行的。

[root@localhost ~]# jmeter -n -t /usr/local/apache-jmeter-5.4.1/bin/CLI_test.jmx -l result.jtl
Creating summariser <summary>
Created the tree successfully using /usr/local/apache-jmeter-5.4.1/bin/CLI_test.jmx
Starting standalone test @ Sun Jun 06 11:50:28 CST 2021 (1622951428991)
Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445
summary +      1 in 00:01:04 =    0.0/s Avg: 63262 Min: 63262 Max: 63262 Err:     1 (100.00%) Active: 100 Started: 100 Finished: 0
summary +    199 in 00:01:04 =    3.1/s Avg: 63236 Min: 63011 Max: 63459 Err:   199 (100.00%) Active: 0 Started: 100 Finished: 100
summary =    200 in 00:02:07 =    1.6/s Avg: 63236 Min: 63011 Max: 63459 Err:   200 (100.00%)
Tidying up ...    @ Sun Jun 06 11:52:37 CST 2021 (1622951557443)
... end of run

但是要注意:

  • 不在JMeter脚本所在的当前目录中执行命令,需要填写脚本文件的全路径。
  • 还有就是运行脚本所产生的jmeter.log文件和结果文件,如果没有指定生成路径的话。会在执行JMeter命令的当前目录中生成。(这点要注意一下)

提示:在Windows系统中执行JMeter脚本,和在Linux系统执行JMeter脚本基本上是一样的。所以这里就不展开说明了。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议 转载请注明原文链接: https://www.cnblogs.com/liuyuelinfighting/p/15519237.html