Jmeter(四) - 从入门到精通 - 创建网络测试计划(详解教程)

news2024/10/7 6:45:26

1.简介

在本节中,您将学习如何创建基本的 测试计划来测试网站。您将创建五个用户,这些用户将请求发送到JMeter网站上的两个页面。另外,您将告诉用户两次运行测试。因此,请求总数为(5个用户)x(2个请求)x(重复2次)= 20个HTTP请求。要构建测试计划,您将使用以下元素: 线程组, HTTP请求, HTTP请求默认值和 图形结果。

有关更高级的测试计划,请参阅 构建高级Web测试计划。

1.1添加用户

您要对每个JMeter测试计划进行的第一步是添加一个 线程组元素。线程组告诉JMeter您要模拟的用户数量,用户应多久发送一次请求以及应发送多少次请求。

继续并通过首先选择“测试计划”来添加ThreadGroup元素,单击鼠标右键以获得“添加”菜单,然后选择“添加”→“线程组”。

现在,您应该在“测试计划”下看到“线程组”元素。如果没有看到该元素,则通过单击“测试计划”元素来“扩展”测试计划树。

接下来,您需要修改默认属性。如果尚未选择线程组元素,则在树中选择它。现在,您应该在JMeter窗口的右侧部分中看到“线程组控制面板”(请参见下面的图1.1)

图1.1 具有默认值的线程组

首先为我们的线程组提供一个更具描述性的名称。在名称字段中,输入JMeter Users。

接下来,将用户数量(称为线程)增加到5。

在下一个字段“加速周期”中,保留默认值1秒。该属性告诉JMeter启动每个用户之间要延迟多长时间。例如,如果您输入5秒钟的加速期,JMeter将在5秒钟结束时完成所有用户的启动。因此,如果我们有5个用户和5秒钟的加速期,则启动用户之间的延迟将为1秒(5个用户/ 5秒= 1个用户每秒)。如果将值设置为0,那么JMeter将立即启动所有用户。

最后,在“循环计数”字段中输入值2。该属性告诉JMeter重复测试多少次。如果输入的循环计数值为1,则JMeter将仅运行一次测试。要让JMeter重复运行您的测试计划,请选择永久复选框。

在大多数应用程序中,您必须手动接受在控制面板中所做的更改。但是,在JMeter中,控制面板会在您进行更改时自动接受它们。如果更改元素的名称,则在离开控制面板后(例如,选择另一个树元素时),树将使用新文本进行更新。                                                   有关完整的JMeter用户线程组,请参见图1.2。

图1.2 JMeter用户线程组

1.2添加默认的HTTP请求属性

现在我们已经定义了用户,是时候定义他们将要执行的任务了。在本部分中,您将为HTTP请求指定默认设置。然后,在第1.3节中,您将添加使用您在此处指定的某些默认设置的HTTP请求元素。

首先选择“ JMeter用户(线程组)”元素。单击鼠标右键获得“添加”菜单,然后选择“添加”→“配置元素”→“ HTTP请求默认值”。然后选择此新元素以查看其控制面板(请参见图1.3)。

 图1.3HTTP请求默认值

像大多数JMeter元素一样,“ HTTP请求默认值”控制面板具有一个您可以修改的名称字段。在此示例中,将此字段保留为默认值。

跳至下一个字段,即Web服务器的服务器名称/ IP。对于您正在构建的测试计划,所有HTTP请求都将发送到同一Web服务器jmeter.apache.org。在字段中输入此域名。这是我们将指定默认值的唯一字段,因此请保留其余字段的默认值。

HTTP Request Defaults元素不会告诉JMeter发送HTTP请求。它仅定义HTTP Request元素使用的默认值。

有关完整的HTTP Request Defaults元素,请参见图1.4。

图1.4 我们的测试计划的HTTP默认值

1.3添加Cookie支持

几乎所有的Web测试都应使用cookie支持,除非您的应用程序明确不使用cookie。要添加cookie支持,只需将HTTP Cookie Manager添加 到测试计划中的每个线程组。这将确保每个线程都有自己的cookie,但会在所有HTTP Request对象之间共享。

图1.5 HTTP Cookie管理器

要添加HTTP Cookie管理器,只需选择“线程组”,然后从“编辑”菜单或右键单击弹出菜单中选择“添加”→“配置元素”→“ HTTP Cookie管理器”。

1.4添加HTTP请求

在我们的测试计划中,我们需要发出两个HTTP请求。第一个用于JMeter主页(http://jmeter.apache.org/),第二个用于Change页面(http://jmeter.apache.org/changes.html)。

JMeter按照它们在树中出现的顺序发送请求。

首先将第一个HTTP请求添加 到JMeter Users元素(添加→采样器→HTTP请求)。然后,在树中选择HTTP Request元素并编辑以下属性(请参见图1.6):

  1. 将名称字段更改为“主页”。
  2. 将路径字段设置为“ /”。请记住,由于您已经在HTTP Request Defaults元素中指定了此值,因此不必设置Server Name字段。

图1.6 JMeter主页的HTTP请求

接下来,添加第二个HTTP请求并编辑以下属性(请参见图1.7:

  1. 将名称字段更改为“更改”。
  2. 将“路径”字段设置为“ /changes.html”。

图1.7 JMeter变更页面的HTTP请求

1.5添加侦听器以查看存储测试结果

您需要添加到测试计划中的最后一个元素是 Listener。此元素负责将HTTP请求的所有结果存储在文件中,并提供数据的可视模型。

选择JMeter Users元素并添加一个Graph Results侦听器(添加→侦听器→后端侦听器)。

1.6登录网站

宏哥在上边列举的不是这种情况,但是某些网站要求您先登录才能允许您执行某些操作。在网络浏览器中,登录名将显示为用户名和密码的表单,以及用于提交表单的按钮。该按钮生成POST请求,将表单项的值作为参数传递。

要在JMeter中执行此操作,请添加HTTP请求,然后将方法设置为POST。您需要知道表单使用的字段的名称以及目标页面。这些可以通过检查登录页面的代码来找到。[如果很难做到,则可以使用JMeter Proxy Recorder(相当于一款web页面抓包工具,当然了你也可以使用其他的抓包工具)记录登录序列。]设置提交按钮目标的路径。单击添加按钮两次,然后输入用户名和密码详细信息。有时,登录表单包含其他隐藏字段。这些也将需要添加。

图4.8。 示例HTTP登录请求

图1.8  示例HTTP登录请求

1.7选择同一用户或不同用户

创建测试计划时,在每个线程组迭代中,我们可以选择模拟运行多个迭代的同一用户,或模拟运行一个迭代的不同用户。您可以在线程组元素上配置此行为,并使HTTP缓存管理器,HTTP Cookie管理器,HTTP授权管理器受此设置控制。

注意:敲黑板,敲脑壳啦!!!

在JMeter的最新版本中没有这部分内容了,不要大惊小怪的。可能这部分的内容不是很重要吧,随着版本的增加,Jmeter官方将这部分去掉了。

图4.9。 选择相同或不同的用户

图1.9 选择相同或不同的用户

您可以选择在CookieManager / CacheManager / Authorization Manager中清除cookie /缓存内容/授权,也可以选择由线程组控制。

图4.10。 使用线程组控制CookieManager

图1.10 使用线程组控制CookieManager

图4.11。 使用线程组控制CacheManager

图1.11 使用线程组控制CacheManager

图4.12。 使用线程组控制授权管理器

图1.12 使用线程组控制授权管理器

2.小结

好了今天的创建网络测试计划就分享到这里,下一篇宏哥带着小伙伴和童鞋们实战一下,小试一下牛刀。顺带说一下高级网络测试计划的创建。


             【下面是我整理的2023年最全的软件测试工程师学习知识架构体系图】


一、Python编程入门到精通


二、接口自动化项目实战 

三、Web自动化项目实战


四、App自动化项目实战 

五、一线大厂简历


六、测试开发DevOps体系 

七、常用自动化测试工具


八、JMeter性能测试 

九、总结(尾部小惊喜)

生命不息,奋斗不止。每一份努力都不会被辜负,只要坚持不懈,终究会有回报。珍惜时间,追求梦想。不忘初心,砥砺前行。你的未来,由你掌握!

生命短暂,时间宝贵,我们无法预知未来会发生什么,但我们可以掌握当下。珍惜每一天,努力奋斗,让自己变得更加强大和优秀。坚定信念,执着追求,成功终将属于你!

只有不断地挑战自己,才能不断地超越自己。坚持追求梦想,勇敢前行,你就会发现奋斗的过程是如此美好而值得。相信自己,你一定可以做到!

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/846523.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络安全进阶学习第十四课——MSSQL注入

文章目录 一、MSsql数据库二、MSsql结构三、MSsql重点表1、master 数据库中的Sysdatabases 表2、Sysobjects 表3、Syscolumns 表 四、Mssql常用函数五、Mssql的报错注入六、Mssql的盲注常用以下函数进行盲注: 七、联合注入1、获取当前表的列数2、获取当前数据库名3、…

汽配企业MES管理系统具体有哪些功能

随着全球汽车产业的不断升级,汽配市场竞争日趋激烈。为了在激烈的市场竞争中获得优势,汽配制造企业必须加快转型升级,向精益生产和精益管理方向前进。而车间信息化管理是实现精益化生产的基础。 汽配行业的生产管理面临着诸多挑战&#xff0…

SDUT 2023 summer team contest(for 22) - 12

A - Todays Word 题意:就是给你一个字符串S0,让你输出的后m位是什么, 思路:我们知道SnSn-1的前一半Sn-1next(Sn-1的后一半的后一位,z的后一位是a),next是求其下一位(z的下一位是a)&…

01《Detecting Software Attacks on Embedded IoT Devices》随笔

2023.08.05 今天读的是一篇博士论文 论文传送门:Detecting Software Attacks on Embedded IoT Devices 看了很长时间,发现有一百多页,没看完,没看到怎么实现的。 摘要 联网设备的增加使得嵌入式设备成为各种网络攻击的诱人目标&…

springboot vue 初步集成onlyoffice

文章目录 前言一、vue ts1. 安装依赖2. onlyoffice组件实现3. 使用组件4. 我的配置文件 二、springboot 回调代码1. 本地存储 三、效果展示踩坑总结 前言 对接onlyoffice,实现文档的预览和在线编辑功能。 一、vue ts 1. 安装依赖 npm install --save onlyoffi…

【个人环境问题排查】解决一个离谱的BurpSuite Professional代理问题(无法访问此网站,Whitelabel Error Page)

最近打开Burp的时候,发现内置浏览器访问不任何网站了,用证书的方式在普通浏览器也访问不了,非常疑惑,最后发现竟是一个非常离谱的问题。 问题 问题如上述,这里贴一下截图,两种情况。 一种是无法访问此网站…

(6)将Mission Planner连接到Autopilot

文章目录 前言 6.1 设置连接 6.2 故障处理 6.3 复合连接的故障处理 6.4 相关话题 前言 本文解释了如何将 Mission Planner 连接到自动驾驶仪上,以便接收遥测数据并控制飞行器。 !Note 对于已有 ArduPilot 固件的安装,或没有现有 Ardu…

Linux 目录结构

初学Linux,首先需要弄清Linux 标准目录结构 / root --- 启动Linux时使用的一些核心文件。如操作系统内核、引导程序Grub等。home --- 存储普通用户的个人文件 ftp --- 用户所有服务httpdsambauser1user2bin --- 系统启动时需要的执行文件(二进制&#x…

Idea配置Scala开发环境

1.首先安装scala插件: File--->Setting---->plugins,在输入框中输入scala,然后点击“Install”即可安装scala,需要稍微等待几分钟。 2 创建项目: File ---->new---->project-----Maven--->Next----输入名称(test…

【雕爷学编程】Arduino动手做(193)---移远 BC20 NB+GNSS模块11

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&#x…

【具身智能】前沿思考与总结(DALL-E-Bot TinyBot)

1. DALL-E-Bot DALL-E-Bot: Introducing Web-Scale Diffusion Models to Robotics (robot-learning.uk) **(2023-05-04)**DALL-E-Bot: Introducing Web-Scale Diffusion Models to Robotics DALL-E-Bot:将网络规模的扩散模型引入机器人 第…

如何实现环卫项目运营的数字化管理,达到企业降本增效的目的?

数字环卫是指利用数字技术和数据驱动的方法来改善环卫流程和管理。数字环卫的底层逻辑在于利用技术来优化运营、提高效率并降低环卫项目管理成本。如何实现环卫工程运营数字化管理,达到降本增效的目标: 1.数据收集和分析:实施数据收集机制&a…

如今市面上有哪些优秀的PCB设计软件

PCB设计软件作为一个电子设计行业中重要的工具,其作用不言而喻。随着电子行业的快速发展,各种各样的新型PCB设计软件层出不穷,而选择一款适合自己使用的PCB设计软件,已成为电子工程师不可避免的任务。 下面我们将为大家介绍常见的…

Java开发 - Redis事务怎么用?

前言 最近博主感觉捅了Redis窝,从Redis主从,哨兵,集群,集群原理纷纷讲了一遍,不知道大家都学会了多少,想着送佛送到西,不如再添一把火,所以今天带给大家的博客是Redis事务&#xff…

2.4g遥控台灯开发方案,采用宇凡微2.4g合封芯片

普通台灯光源光谱固定且有频闪,长时间使用容易导致眼部疲劳。宇凡微推出的护眼台灯方案,具有无极色温调节,光线柔和不刺眼、无频闪,具有多种功能模式,可用2.4g遥控器调节。 一、遥控护眼台灯方案介绍 护眼台灯方案采用…

Progress in Neurobiology:大脑活动的自主模式

摘要 自主神经系统和中枢神经系统之间的相互作用对人脑功能和健康的相关性尚不清楚,尤其是当这两个系统都受到睡眠剥夺(SD)的挑战时。本研究测定了健康参与者的大脑活动(采用fMRI)、脉冲和呼吸信号,以及β-淀粉样蛋白负荷(采用PET)。研究结果发现&#…

Jtti:Ubuntu静态IP地址怎么配置

在 Ubuntu 中配置静态 IP 地址需要编辑网络配置文件。以下是在 Ubuntu 20.04 版本中配置静态 IP 地址的步骤: 打开终端,以管理员身份登录或使用 sudo 权限。 使用以下命令打开网络配置文件进行编辑: sudo nano /etc/netplan/00-installer-…

使用PhpSpreadsheet 导出excel文件根据数据判断设置文字颜色

public function index(){//接收前端参数 查询数据出来 目前演示为测试数据$data [["id" > 1,"name" > "小黄","age" > "10"],["id" > 2,name > "小红","age" > "11…

Python(Web时代)——jinja2模板

简介 Jinja2是Flask框架默认支持的模板引擎,是python的web项目中被广泛应用的一种模板引擎,jinja2的作者与Flask是同一个人。 jinja2具有以下特点: 非常灵活,提供了控制结构、表达式与继承等 性能好 可读性强 渲染一个模板&a…

python_day19_递归

拓展 import osdef test_os():# 列出路径下内容print(os.listdir("D:/阿里云"))# 指定路径是否为文件夹print(os.path.isdir("D:/阿里云"))# 指定路径是否存在print(os.path.exists("D:/阿里云"))if __name__ __main__:test_os()递归查文件 每…