JMeter 安装及入门(Ubuntu)
1、安装 Java8
将Linux版的jdk的安装包配置到环境变量即可,很简单方便 oracle现在开始收费了,下载jdk8 的时候需要登录,最好下载一个jdk保存着,否则忘记账号很麻烦
获取安装包
- 方法1:从网上找一个jdk8的tar.gz包,上传到Ubuntu
- 方法2:或者从网上找到下载jdk8的Linux版本的链接,使用
wget 下载链接
,将jdk下载到当前目录
链接:https://pan.baidu.com/s/1X2NZFSDyKtOJDBGtIvck2g 提取码:xz6u
解压安装包到指定位置
sudo tar –zxvf jdk-xxx.tar.gz –C /usr/local/ # 位置看个人习惯
修改配置环境
# 打开文件
sudo gedit /etc/profile
# 设置环境变量
JAVA_HOME=/usr/local/jdk解压的文件夹
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
重新加载/etc/profile
配置文件
source /etc/profile
查看java版本
java -version
2、安装 JMeter
链接:https://pan.baidu.com/s/1FvL_6_YGF0pa6T1sEehE5g 提取码:vxbs
解压压缩包
sudo tar -zxvf apache-jmeter-x.x.x.tgz –C /usr/local/
配置Jmeter环境变量
sudo gedit /etc/profile
再添加如下变量
export JMETER=/usr/local/apache-jmeter-x.x.x
export PATH=$JMETER/bin:$PATH
执行命令,配置的环境变量生效
source /etc/profile
检查安装结果:
jmeter -v
Jul 15, 2021 10:59:44 PM java.util.prefs.FileSystemPreferences$1 run
INFO: Created user preferences directory.
_ ____ _ ____ _ _ _____ _ __ __ _____ _____ _____ ____
/ \ | _ \ / \ / ___| | | | ____| | | \/ | ____|_ _| ____| _ \
/ _ \ | |_) / _ \| | | |_| | _| _ | | |\/| | _| | | | _| | |_) |
/ ___ \| __/ ___ \ |___| _ | |___ | |_| | | | | |___ | | | |___| _ <
/_/ \_\_| /_/ \_\____|_| |_|_____| \___/|_| |_|_____| |_| |_____|_| \_\ 5.4.1
Copyright (c) 1999-2021 The Apache Software Foundation
运行:
jmeter
3、入门教程
添加线程组(thread group)
线程组里主要的属性:
- Number of Threads(users):线程数,也叫并发数
- Ramp-up period(seconds):多少时间启动所有线程
- Loop Count:迭代数
注意:一般单机不建议跑太高的线程数,建议在50内。
添加 http 请求
常用属性:
- HTTP Request:设置 http method 和 path(url)
- Paramters:请求参数,即Url参数
- Body Data:请求体数据。对于 api,一般添加 json 数据
- Files Upload:文件上传。测试上传文件时使用
添加 http 请求头
除了 http 请求的一些常规属性,有时需要通过 header 传数据。
在线程组右键,”添加(Add)“ -> ”配置元素(Config Element)“ -> ”Http Header管理器(Http Header Management)“
同理,Cookie、Cache 等也一样操作。
添加断言
断言即判断预期和实际是否一致,JMeter 提供多种断言:Response Assertion、JSON Assertion、HTML Assertion等。
对于 api 测试,一般使用 JSON Assertion,因为返回的结果是 JSON。
在某个 Http 请求上右键,”Add“ -> ”Assertion“ -> ”JSON Assertion“
- Assert JSON Path exists:要验证的json的路径,这里是 $.success
- Additionally assert value:是否验证值
- Match as regular expression:是否使用正则匹配
- Expected value:预期值。这里是 true
json path:
json path示例:
{
"store": {
"book": [
{ "category": "reference",
"author": "Nigel Rees",
"title": "Sayings of the Century",
"price": 8.95
},
{ "category": "fiction",
"author": "Evelyn Waugh",
"title": "Sword of Honour",
"price": 12.99
},
{ "category": "fiction",
"author": "Herman Melville",
"title": "Moby Dick",
"isbn": "0-553-21311-3",
"price": 8.99
},
{ "category": "fiction",
"author": "J. R. R. Tolkien",
"title": "The Lord of the Rings",
"isbn": "0-395-19395-8",
"price": 22.99
}
],
"bicycle": {
"color": "red",
"price": 19.95
}
}
}
添加测试结果
最后要查看测试结果,在线程组右键:”Add“ -> ”Listener“ -> ”View Results Tree“