Jmeter基础:Linux下如何使用Jmeter?

一、JDK安装
Jmeter 是 java 编写的,所以他运行是需要 jdk 支持的。如果你的机器已经安装了 jdk,这一步就可以 pass 了。
在百度搜索 jdk,进入官网


点击顶部的 products-->java,然后点击右边 download java

选择一个版本(我用的是 1.8,页面上显示的是 8u)点击 JDK download,然后根据操作系统,下载对应的文件。

Windows 安装比较简单,一直下一步就完事了。记住 jdk 的安装路径。安装完后,配置环境变量。鼠标右击"我的电脑",如下图,第 4 个圈的变量值,就是 jdk 的安装路径:

添加完 javahome,需要编辑 path 环境变量,如下图:

这样环境变量就配好了,调出 cmd,输入 java -version 确认下配置是否生效了。

二.Jmeter安装
可以百度搜索 jmeter 或者直接进入官网下载

点击左侧 download releases,会进入下载页面:

当前最高版本是 5.3,需要 java 1.8 以上版本。点击红框,下载 zip 文件,下载后直接解压缩。找到 bin 目录下的 jmeter.bat,双击进入图形化页面:

三. 录制
鼠标右键点击测试计划,选择"添加"->"线程"->"线程组"

鼠标右键点击测试计划,选择"添加"->"非测试元件"->"http 代理服务器"

点击代理服务器节点,默认是 8888,确保端口没有被占用,若被占用,修改成其他未被使用的端口就行了。选择将录制的内容,保存到刚才添加的线程组里。点击启动。

以火狐浏览器为例,点击火狐浏览器的选项按钮,进入设置页面。找到网络设置,点击设置。选择手动代理,输入本机 ip 和 jmeter 中的端口号。

若是要录入 https 的站点需要添加证书,证书文件会自动生成,在 bin 目录下,如下图。


需要注意的是,证书的有效时间是 1 个星期。过期后,需要重新生成证书,重新导入。录制只是一个辅助功能,后期我们熟练后,可以手动编写脚本。只有遇到一些比较急,接口较多且不熟悉的项目,才去使用录制功能。全部设置完成后,我们在浏览器中打开任意网站,比如百度,查看百度新闻。然后查看 jmeter 的线程组,可以发现刚才的动作全部被录制下来了。

Jmeter 停止录制后,若想浏览器可以正常上网,要将浏览器设置里的手动代理改成不使用代理。

四. 运行、查看结果
鼠标右键测试计划,"添加"->"监听器"->"结果树"。再添加一个"聚合报告"。
……

点击顶部的运行按钮,开始执行线程里面的请求。点击结果树,可以查看每个请求的具体结果。

聚合报告可以查看每个请求的响应时间、吞吐量、错误率等,与性能有关的指标。

五. 设计测试用例,修改请求参数,进行接口测试
以中信银行为例,在中信银行官方网站的首页,点击基金,点击优选产品的"更多"按钮,进入如下页面:

以这个页面筛选功能的接口为例,我已经将参数和页面上对应的元素标出来了。比如,我们来试试把 fundKeyWord 参数改成"股票",把 fundType 改成 3,orderBy 改成 1。

运行后,查看结果:

可以看到,输入正常范围的参数,接口是可以正常响应的,和 web 端效果一致。我们在设计测试用例的时候,会用到边界值的方法。

从页面上可以看出参数 orderBy 的输入范围是 1 到 9(其中 5 到 8 应该属于保留值),所以我们可以输入 10 来试试。

果然报错了,达到了测试效果,这个问题通过功能测试是无法找到的。结合接口文档,设计合理的测试用例,熟练的使用测试工具,是接口测试的关键所在。
相关推荐
-
第18问:MySQL CPU 高了,怎么办?2025-02-24 10:27:18
-
mysql索引类型 normal, unique, full text
mysql索引类型 normal, unique, full text2025-02-24 10:05:05 -
uwsgi+django+nginx 搭建部分总结2025-02-24 10:03:33
-
使用Docker配置Nginx环境部署Nextcloud2025-02-24 10:02:03
-
Nginx安装和怎么使用2025-02-24 10:00:45