Jmeter性能测试 入门

news/2024/4/25 6:12:25/文章来源:https://blog.csdn.net/weixin_56331124/article/details/129270498

Jmeter是一款优秀的开源测试工具, 是每个资深测试工程师,必须掌握的测试工具,熟练使用Jmeter能大大提高工作效率。

熟练使用Jmeter后, 能用Jmeter搞定的事情,你就不会使用LoadRunner了。

我将会覆盖Jmeter的各个功能,并且会通过丰富的实例,让读者快速掌握Jmeter的各种用法 。

本文将通过一个实际的测试例子, 来讲解Jmeter的基本用法。本文的最后提供了本篇文章的脚本。 不喜欢看文章的同学直接看脚本也能看懂

Jmeter 介绍

Jmeter 是一款使用Java开发的,开源免费的,测试工具, 主要用来做功能测试和性能测试(压力测试/负载测试).

而且用Jmeter 来测试 Restful API, 非常好用。

如何学好Jmeter

如果你用Jmeter去对Web进行功能测试,或者性能测试。 你必须熟练HTTP协议,才能学好Jmeter。 否则你很难理解Jmeter中得概念。

不熟悉HTTP协议的话, 可以参考文末关注领取一份资源

Jmeter 下载和运行

官方网站:http://jmeter.apache.org/

解压后, 运行 “bin/jmeter.bat”

Jmeter 是支持中文的, 启动Jmeter 后, 点击 Options -> Choose Language 来选择语言

实际测试的例子

目标: 获取城市的天气数据:

第一步: 发送request 获取城市的城市代号
http://toy1.weather.com.cn/search?cityname=上海

从这个请求的response 中获取到上海的城市代码. 比如:

上海的地区代码是101020100

上海动物园的地区代码是: 10102010016A

第二步: 发送request 到: http://www.weather.com.cn/weather2d/101020100.shtml 可以得到该城市的天气数据

第一步: 新建一个Thread Group

必须新建一个Thread Group, jmeter的所有任务都必须由线程处理,所有任务都必须在线程组下面创建。


第二步:新建一个 HTTP Request

比如我要发送一个Get 方法的http 请求: http://toy1.weather.com.cn/search?cityname=上海

可以按照下图这么填

第三步 添加HTTP Head Manager

选中上一步新建的HTTP request. 右键,新建一个Http Header manager. 添加一个header


在这里插入图片描述

第四步: 添加View Results Tree

View Results Tree 是用来看运行的结果的

在这里插入图片描述

第五步:运行测试,查看结果

+

到这里。 我们已经成功运行起来了。

第六步:添加Assertion和Assert Results

选择HTTP Request, 右键 Add-> Assertions -> Response Assertion. 添加 Patterns To Test
在这里插入图片描述
然后添加一个Assetion Results 用来查看Assertion执行的结果.

选中Thread Group 右键 Add -> Listener -> Assertion Results.

运行后, 如果HTTP Response中没有包含期待的字符串。 那么test 就会Fail.

在这里插入图片描述

第7步: 使用用户自定义变量

我们还可以在Jmeter中定义变量。 比如我定义一个变量叫 city. 使用它的时候用 ${city}

添加一个 User Defined Variables. 选中Thread Group: 右键 Add -> Config Element -> User Defined Variables.

我们添加一个变量: city

在这里插入图片描述
然后在Http Request中使用这个变量

在这里插入图片描述

第八步:关联

所谓关联, 就是第二个Requst, 使用第一个Request中的数据

我们需要在第一个Http Requst 中新建一个正则表达式,把Response的值提取到变量中,提供给别的Http Request 使用

选择第一个Http Request, 右键 Add -> Post Processors -> Regular Expresstion Extractor

在这里插入图片描述

现在新建第二个Http Request, 发送到: http://www.weather.com.cn/weather2d/${citycode}.html

${citycode} 中的数据, 是从Regular Expression Extractor 中取来的

在这里插入图片描述
到这, 脚本就全部写好了, 运行下,看下最终结果

在这里插入图片描述
最后:下方这份完整的自动化测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取 【保证100%免费】

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

亿发软件:钉钉移动ERP业务在线,审批、管理更方便!

钉钉系统是企业级智能移动办公平台,平台覆盖大中小微各量级企业,帮助中国企业移动办公管理。企业无需复杂的部署操作,在对应的功能制定流程和相关负责人即可。 亿发企业ERP管理系统于2022年与钉钉系统做了对接,提供一站式的企业管…

大数据系统重点

第一章 大数据计算系统概述 1 大数据计算框架概述 计算框架: 一种抽象,在其中提供相应的通用功能供用户编写代码以实现具体功能,从而形成面向应用的软件。 大数据计算框架:面向大数据的计算框架。 Hadoop Hadoop的运行过程 Hadoop的详细…

腾讯云轻量应用服务器和云服务器CVM有什么区别?

腾讯云新推出的轻量应用服务器Lighthouse和原来的CVM云服务器有什么区别?轻量应用服务器Lighthouse是一种易于使用和管理、适合承载轻量级业务负载的云服务器,主要用于Web网站应用,轻量服务器使用及后期运维更加简单方便;云服务器…

【数据结构(四)】树

文章目录树1 树的基本概念1.1 树的定义1.2 基本术语1.3 数的性质2 二叉树的概念2.1 二叉树的定义与特性2.1.1 定义2.1.2 二叉树的性质2.2 几种特殊的二叉树2.2.1 满二叉树2.2.2 完全二叉树2.3 二叉树的存储结构2.3.1 顺序存储2.3.2 链式存储3 二叉树的遍历和线索二叉树3.1 二叉…

敏捷-期末

什么是敏捷开发? 敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方法。 怎么理解呢?它不是一门技术,它是一种开发方法,也就是一种软件开发的流程,它会指导我们用规定的环节去一步一步完成项目的开…

二叉树路径查找

题目描述:给定一棵二叉树(结构如下),其中每个节点值为整数。给定一个值 K,求所有满足如下条件的路径并将路径上节点的值打印出来: 1、路径方向必须向下,即只能从父节点指向子节点 2、路径并不是必须从根节点开始或在叶…

一起玩转开源数据库!OceanBase DevCon 之开源生态全景解析

​ 2023 年 3 月 25 日,首次 OceanBase 开发者大会将在北京举办,OceanBase 首席科学家阳振坤与 OceanBase CTO 杨传辉领携众多技术专家,将与开发者共同探讨单机分布式、云原生、HTAP 等数据库前沿趋势,OceanBase 开源技术全景生…

【安卓】安卓设备实现wifi display解决方案

看文章前,我们需要知道的几个概念: 1、Wifi Direct技术; 2、Wifi Display技术; 3、Miracast标准; 安卓手机用户都知道我们的安卓手机有一个wifi直连功能,在点击设置–》WIFI–》更多Wifi设置–》Wifi直连&a…

【Linux】操作系统与Linux — Linux概述、组成及目录结构

目录 一、什么是操作系统?都有那些? 二、Linux概述 三、Linux组成 三、Linux目录结构 四、Linux目录结构 💟 创作不易,不妨点赞💚评论❤️收藏💙一下 一、什么是操作系统?都有那些&#x…

Linux | 1. 挂载新硬盘与磁盘管理

如有错误,恳请指出。 1. Ubuntu挂载新硬盘 查看磁盘状态:sudo fdisk -l 1)为新硬盘分区 使用 fdisk 指令对 /dev/sdb 进行分区操作:sudo fdisk /dev/sdb。进入分区工具后,我们可以输入 m 看指令说明,注意…

SQL数据库权限管理-10个数据库角色

为便于管理数据库中的权限,SQL 数据库提供了服务器角色、数据库角色、用户等来划分不同用户拥有的权限差异。今天给大家介绍数据库角色对应的权限。 数据库级角色 存在两种类型的数据库级角色: 数据库中预定义的“固定数据库角色”可以创建的“用户定…

New Bing怼人、说谎、PUA,ChatGPT已经开始胡言乱语了

最近,来自大洋彼岸那头的ChatGPT科技浪潮席卷而来,微软将chatGPT整合搜索引擎Bing开启内测后,数百万用户蜂拥而至,都想试试这个「百事通」。 赶鸭子上架,“翻车”了? 但短短上线十几天,嵌入了…

架构篇之如何画出优秀的架构图(二)

今天是架构篇的第二篇文章,跟大家聊聊如何画出好的架构图。 一、架构图分类 1、业务架构 a. 定义:描述系统对用户提供了什么业务功能。 b. 使用场景: 产品规划业务给高P汇报

高通平台开发系列讲解(Sensor篇)AlsPs的工作原理及介绍

文章目录 一、什么是ALS?二、什么是距感(PS)?三、AlsPs的工作原理四、AlsPs的特性五、距感的校准参数说明六、光感的校准参数说明沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇文章将介绍 AlsPs 的工作原理及介绍。 一、什么是ALS? 光感的英文叫做Ambient Li…

大数据|Hadoop系统

目录 📚Hadoop介绍 📚Hadoop优点 📚Hadoop的体系结构 🐰HDFS的体系结构 🐰MapReduce的体系结构 🐰HDFS和MapReduce的协同作用 📚Hadoop与分布式开发 🐰MapReduce计算模型 &a…

时钟振荡器的作用

引言 如果电子元件没有时钟,你怎么知道你的信号的频率是多少?频率的定义是一秒振荡的次数。一秒是多久?那么为了知道一秒是多久,电子元件的时钟就很重要了,我们通过频率准确的晶振来产生振荡信号。因为晶振的频率是固…

网络安全从入门到精通:30天速成教程到底有多狠?你能坚持下来么?

毫无疑问,网络安全是当下最具潜力的编程方向之一。对于许多未曾涉足计算机编程的领域「小白」来说,深入地掌握网络安全看似是一件十分困难的事。至于一个月能不能学会网络安全,这个要看个人,对于时间管理不是很高的,肯…

信贷系统学习总结(5)—— 简单的风控示例(含代码)

一、背景1.为什么要做风控?目前我们业务有使用到非常多的AI能力,如ocr识别、语音测评等,这些能力往往都比较费钱或者费资源,所以在产品层面也希望我们对用户的能力使用次数做一定的限制,因此风控是必须的!2.为什么要自己写风控?那么多开源的风控组件,为什么还要写呢?是不是想…

2023上半年北京/上海/广州/深圳NPDP产品经理认证报名

产品经理国际资格认证NPDP是国际公认的唯一的新产品开发专业认证,集理论、方法与实践为一体的全方位的知识体系,为公司组织层级进行规划、决策、执行提供良好的方法体系支撑。 【认证机构】 产品开发与管理协会(PDMA)成立于1979年…

已解决The above exception was the direct cause of the following exception:

已解决RuntimeError: module compiled against API version 0xe but this version of numpy is 0xd ImportError: numpy.core.multiarray failed to import The above exception was the direct cause of the following exception: SystemError: returned a result with an err…