po3a  

实验项目名称:实验    

一、实验目的

1、正确安装Jmeter;

2、能够完成脚本录制,运行脚本,查看运行结果;

3、完成某网站的性能测试。

二、实验要求

1、 学习ppt,理解性能测试;

2、 掌握Jmeter使用方法;

3、 对具体网站,能分别使用相应的工具完成脚本录制,运行脚本,查看运行结果。

三、实验内容

完成ppt中轻商城的性能测试,给出一套完整的脚本录制、场景设计、场景监视以及其结果分析流程。并选择对轻商城的增删改功能进行性能测试。

实验报告须完整叙述Jmeter使用流程,并描述关键性步骤,需要界面效果截图。

1. 前期准备

(1) 下载Jmeter

https://jmeter.apache.org/download_jmeter.cgi

这里我是Windows环境所以选择zip,如果在Linux环境下需选择tgz.

 

(2) 启动

在文件目录下找到jmeter.bat点击启动。

 

 

(3) 界面汉化

 

2. 创建测试任务

(1) 添加测试计划

每次启动JMeter,主界面都默认有一个空的测试计划。用户也可以在菜单栏单击“文件”在弹出的下拉菜单中选择“新建”选项,添加测试计划。添加测试计划之后,将其命名为第一个测试计划 ,按“Ctrl+S”组合键保存测试计划,如下图所示。

 

(2) 添加线程组

即设置虚拟用户数

  1. 线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数。
  2. Ramp-up就是每个线程的执行时间间隔,0表示并发
  3. 循环次数:每个线程发送请求的次数。如果线程数为 10,循环次数为 100,那么每个线程发送 100 次请求。总请求数为 10*100=1000 。如果勾选了“永远”,那么所有线程会一直发送请求,一到选择停止运行脚本。
  4. Delay Thread creation until needed:直到需要时延迟线程的创建。
  5. 调度器配置:设置线程组启动的开始时间和结束时间(配置调度器时,需要勾选循环次数为永远)
  6. 调度器配置参数:
  7. 持续时间(秒):测试持续时间,会覆盖结束时间
  8. 启动延迟(秒):测试延迟启动时间,会覆盖启动时间

 

选中JMeter主界面的测试计划-第一个测试计划并右键单击,在弹出的快捷菜单中依次选择添加”→“线程(用户)”→“线程组,如下图所示。并添加数据。

 

 

(3) 创建 HTTP 请求

创建的线程组后,在创建的线程组基础上,点击添加 HTTP 请求:

选中线程组并右键单击,在弹出的快捷菜单中依次选择添加”→“取样器”→“HTTP请求,如下图所示。

 

本次只是向百度发送一次请求,只需配置协议、服务器名称或IP即可,配置信息如下图所示。

 

l Web服务器

协议:向目标服务器发送 请求协议,可以是 HTTP HTTPS,默认为 HTTP

服务器名称或 IP HTTP 请求发送的目标服务器名称或 IP

端口号:目标服务器的端口号,默认值为 80

l HTTP 请求

方法:发送 HTTP 请求的方法,可用方法包括 GETPOSTHEADPUTOPTIONSTRACEDELETE 等。

路径:目标 URL 路径(URL中去掉服务器地址、端口及参数后剩余部分)

内容编码 :编码方式,默认为 ISO-8859-1 编码,可以配置为 utf-8

参数

在请求中发送的 URL 参数,用户可以将 URL 中所有参数设置在本表中,表中每行为一个参数(对应URL中的 name=value

(4) 添加察看结果树

选中线程组并右键单击,在弹出的快捷菜单中依次选择添加”→“监听器”→“察看结果树,如下图所示。

 

 

3. 搭建轻商城测试环境

(1) 打开虚拟机

 

(2) 登录虚拟机,选择“未列出”输入“rootpassword123456

 

(3) 测试轻商城虚拟机网络

打开轻商城虚拟机之后,在虚拟机桌面的任意空白位置处右键单击,会弹出一个快捷菜单,单击该快捷菜单中的 打开终端选项,会打开虚拟机的终端窗口,在该窗口中可以输入” “ifconfig”命令查看轻商城虚拟机的IP地址,如下图所示。

 

 

Windows系统中打开命令提示符窗口,使用“ping”命令测试轻商城虚拟机的网络是否处于连接状态,如下图所示。

 

 

(4) 修改hosts配置文件

Windows系统中,找到C:\Windows\System32\drivers\etc目录下的hosts配置文件,选中hosts配置文件,右键单击选择属性选项,会弹出hosts属性对话框,去掉 只读属性左侧的勾选,单击确定按钮,此时hosts文件中的内容处于可编辑的状态。打开hosts文件,在该文件的末尾添加轻商城虚拟机的IP地址和轻商城的域名,如下图所示。

 

 

(5) 下载与安装Finalshell,并将litemall虚拟机连接到finalshell.

 

 

 

(6) ServerAgent服务器

需要下载个文件,其中JMeterPlugins-Standard、JMeterPlugins-Extrasjmeter-plugins-manager-1.7.jar是客户端的,ServerAgent是服务端的。前两个的下载地址是:https://jmeter-plugins.org/downloads/old/。服务端的下载地址:https://github.com/undera/perfmon-agent

 

 

 

.解压客户端的两个文件,进入其路径JMeterPlugins-Extras\lib\extJMeterPlugins-Standard\lib\ext,复制JmeterPlugins-Extras.jarJmeterPlugins-Standard.jar两个文件,放到JMeter客户端的apache-jmeter-4.0\lib\ext下面。

 

打开JMeter,可在监听器中看到Permon Metrics Collector,客户端配置成功

 

 

(7) 启动ServerAgent服务器

首先将成功下载的ServerAgent-2.2.3.zipWindows系统中拖进FinalShell下方的文件中,或者单击右下角的上传按钮,也可以将ServerAgent-2.2.3.zipWindows系统中上传到虚拟机,然后在FinalShell终端依次输入以下命令。

 

(8) Jmeter脚本的线程组中添加一个监听器jp@gc - PerfMon Metrics Collector

  • 一定要添加要监控的服务器的IPserveragent4444端口号,监控的指标CPUMemoryDISK I/ONetwork I/O
  • 一定要有将结果导出的文件如果添加文件时提示:Error loading results file - see file log,解决办法为在,在文件(什么类型都可以)中加上一段

<?xml version="1.0" encoding="UTF-8"?>

<testResults version="1.2">

</testResults>

 

 

 

(9) 项目数据库连接

下载并安装,按步骤来即可

 

数据库连接:

主要设置服务器地址、数据库、驱动。

 

下面我对连接进行测试,结果显示连接成功

 

然后我们可以看到litemall数据库和数据表了:

 

 

测试用程序导入数据:

 

 

 

4.  对轻商城系统进行测试

(1) 开启轻商城服务器。

 

(2) 点击开始,进行压力测试。

 

(3) 接下来可点击“查看结果树”进行测试结果的查看。鉴于截图全部放置实验报告内容重点不突出,这里仅展示模块的响应结果和数据。

登录模块:

 

首页模块;

 

搜索商品模块:

 

查看商品详情模块:

 

加入购物车模块:

 

在一开始的压力测试有问题。后来我查了一下是服务器的版本问题,导致设置时间内请求未返回,后面我也对他进行了单独的测试,结果显示正确。

 

结算模块:

 

查看订单模块:

 

(4) 可视化服务器监视结果查看,我们使用ServerAgent服务器和PerfMon插件,分别在虚拟机和本地辅助我们的可视化结果展示。

 

此外我们也可以进行测试结果的导出,这里我们右键找到Export to CSV”,然后选择下载路径,然后点击保存。

 

 

导出的csv文件如下图所示。

 

 

 

 

 

 

聚合报告:

 

(5) 性能测试报告

进入Jmeter所在的bin目录下,输入以下命令,其中“地址”为jmx所在的地址,这样就可以在bin目录的report目录下生成报告了(一定要保证report目录为空目录!)

 

该文件夹中的index.html文件即为测试报告,双击index.html文件即可查看性能测试报告

 

 

查看性能报告:

 

 

超时统计报告

 

 

吞吐量统计报告:

 

 

响应时间统计报告:

 

 

四、实验感想

通过这次实验,我深入掌握了 Jmeter 的使用流程。从安装 Jmeter 到熟悉其界面,再到运用它录制脚本,涵盖对商城增删改功能的精准模拟,使我对性能测试工具有了实践认知。

同时这次实验我也遇到了很多的困难,比如我在启动ServerAgent服务器时,服务器频繁出现瞬间的连接断开,导致我本地的PerfMon无法采集到数据然后对信息进行可视化展示,期间我也进行了多种方法,最后确定是因为我本机的jre版本太高,而ServerAgent的默认不需要太高版本的jre,导致服务器崩溃,最后我为虚拟机更换了旧版本的jre后成功解决这个问题。此外还有一系列的小漏洞和错误,我也不再一一列举,但是好在有法可循。虽然这期间的过程让我的自信逐渐消减,但是一次次地尝试也让我对于自己的解决问题的能力与自信与日俱增,而这或许也正是软件测试的意义所在。总是要经历大量的测试,经受住短时间的压力测试,才能推出一个安全、使用友好的软件产品。

 

posted on 2025-04-29 09:25  po3a  阅读(12)  评论(0)    收藏  举报