软件测试(实验五)——Jmeter的使用

目录

实验目的

一、使用JMeter演示取样器、监听器、配置元件、断言的使用;

1、取样器

2、监听器

3、配置元件的使用

① 用户定义的变量

②HTTP信息头管理器

③HTTP请求默认值

④CSV数据文件设置

4、断言

①响应断言

②JSON断言

③断言持续时间

二、使用JMeter演示前置处理器、后置处理器、逻辑控制器、定时器的使用。

1、前置处理器

2、后置处理

①正则表达式提取器

②Xpath提取器

③JSON提取器

3、逻辑控制器

①if逻辑控制器

②for each控制器

4、定时器

①同步定时器

②常数吞吐量定时器

③固定定时器

实验目的

上机练习主要针对本章中需要重点掌握的知识点,以及在性能测试中容易出错的内容进行练习,通过上机练习可以考察同学对知识点的掌握情况,对JMeter工具的使用的熟练程度。

上机:(考察知识点为取样器、监听器、配置元件、断言、前置处理器、后置处理器、逻辑控制器、定时器

形式:单独完成

 题目:

通过不同的小案例演示取样器、监听器、配置元件、断言、前置处理器、后置处理器、逻辑控制器、定时器的使用,要求如下:

一、使用JMeter演示取样器、监听器、配置元件、断言的使用

1、取样器

使用路径传递GET请求参数

②使用参数列表传递GET请求参数

③使用消息体数据传递POST请求参数

2、监听器

①测试计划结果树

②线程组结果树

③聚合报告-案例itcat.com

HTTP请求配置

线程组配置

聚合报告结果

3、配置元件的使用

① 用户定义的变量

②HTTP信息头管理器

③HTTP请求默认值

④CSV数据文件设置


结果如下

⑤计数器


查看结果


4、断言

①响应断言

案例:要求使用JMeter发送一个GET请求,请求地址为http://www.baidu.com,检查响应数据中是否包含“百度一下,你就知道”字符串

百度一下,你就知道,改为英文逗号,出错


②JSON断言

要求使用JMeter发送一个GET请求,

请求地址为http://www.weather.com.cn/data/sk/101010100.html,检查响应的JSON数据中,city对应的内容是否为“北京”


③断言持续时间

案例:

要求使用JMeter发送一个GET请求,请求地址为https://www.jd.com,检查响应时间是否超过100毫秒



二、使用JMeter演示前置处理器、后置处理器、逻辑控制器、定时器的使用。

1、前置处理器

要求使用JMeter发送一个GET请求,请求地址为https://www.baidu.com/S,第一个用户携带参数为:name=张三&age=28; 第二个用户携带参数为:name=李四&age=30


2、后置处理

①正则表达式提取器

本案例要求使用JMeter发送两个请求,具体要求如下

请求一:请求地址为https://www.itcast.cn,获取网页的<title>标签的值。

请求二:请求地址为https://www.baidu.com/S,把请求一的<title>标签的值作为请求参数。

百度请求itcast的title并匹配第一个字符串


②Xpath提取器

以前面正则表达式提取器中的案例为例,同样发送两个请求,要求使用XPath提取器提取请求一中的title值。将正则表达式提取器替换为XPath提取器。

另两个过程与上图一致

③JSON提取器

下面通过一个案例演示JSON提取器的使用。本案例要求使用JMeter发送两个请求,具体如下。

请求一:请求地址为http://www.weather.com.cn/data/sk/101010100.html,获取返回结果中的城市名称“北京”。

请求二:请求地址为https://www.baidu.com/S?wd=北京,把请求一返回的城市名称“北京”作为请求参数

3、逻辑控制器

①if逻辑控制器

本案例要求使用用户定义的变量定义一个变量name,name有两个可选值:baidu和itcast。如果name的值为baidu,则请求https://www.baidu.com;如果name的值为itcast,则请求https://www.itcast.cn。

分析上述要求,根据 name 的值判断发送哪个请求,需要使用如果(If) 控制器实现。确定了核心元件之后,构建测试计划目录树,如下图所示。

用户变量

百度


Itcast


结果如下:

②for each控制器

本案例要求使用用户定义的变量定义一组关键字:hello、pyhton、测试。依次取出这一组关键字,将其作为请求参数请求百度网站(https://www.baidu.com/S?wd=hello)。

分析上述要求,要想逐个读取用户定义的变量并定义一组关键字作为请求参数,可以使用 ForEach 控制器。

结果如下

1

2

3

4、定时器

①同步定时器

例题:

使用JMeter模拟100个用户同时访问百度首页(https://www.baidu.com),统计各种高并发情况下的运行情况。


②常数吞吐量定时器

例题:

本案例要求使用JMeter发送请求访问百度首页(https://www.baidu.com),QPS为20,持续运行一段时间,观察、统计运行时的性能指标变化。

QPS=20代表每秒处理20个请求

③固定定时器

例题:

要求使用JMeter模拟登录iHRM人力资源管理系统

请求地址:http://ihrm2-test.itheima.net/api/sys/login。

请求方式:POST。

请求头:Content-Type:application/json;charset=UTF-8。

请求体:{"mobile":"13800000002","password":"888itcast.CN764%..."}。

当模拟用户登录时,登录出现3次输入错误后,锁定300ms,等待300ms后重新输入正确的用户名和密码,登录成功。

建议:进入网站直接复制密码

密码123456有时正确,有时错误

步骤如下:

1、请求头信息

2、用户名正确,密码错误


3、用户名错误,密码错误

4、用名错误、密码正确

5、用名正确、密码正确

6、固定定时器300ms

结果如下

前3个错误,最后一个正确

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

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

相关文章

「 网络安全常用术语解读 」SBOM主流格式SWID详解

国际标准化组织&#xff08;ISO&#xff09;和国际电工委员会&#xff08;International Electrotechnical Commission&#xff0c;IEC&#xff09;发布了ISO/IEC 19770-2软件标识&#xff08;Software Identification&#xff0c;SWID&#xff09;标签标准&#xff0c;该标准定…

【LAMMPS学习】八、基础知识(5.6)绝热核/壳模型

8. 基础知识 此部分描述了如何使用 LAMMPS 为用户和开发人员执行各种任务。术语表页面还列出了 MD 术语&#xff0c;以及相应 LAMMPS 手册页的链接。 LAMMPS 源代码分发的 examples 目录中包含的示例输入脚本以及示例脚本页面上突出显示的示例输入脚本还展示了如何设置和运行各…

4.2 JavaScript语法

4.2.1 JavaScript大小写 在JavaScript中大小写是严格区分的&#xff0c;无论是变量、函数名称、运算符和其他语法都必须严格按照要求的大小写进行声明和使用。例如变量hello与变量HELLO会被认为是完全不同的内容。 4.2.2 JavaScript分号 很多编程语言&#xff08;例如C、Java和…

helm安装 AWS Load Balancer Controller

1、创建AmazonEKSLoadBalancerControllerRole角色 亚马逊文档 创建文档 2&#xff09;、使用 eksctl 创建 IAM 角色 a、安装eksctl eksctl安装文档 使用以下命令下载并提取最新版本的 eksctl curl --silent --location "https://github.com/weaveworks/eksctl/releases/l…

Flask教程2:flask高级视图

文章目录 add_url_rule类视图的引入装饰器的自定义与使用蓝图的使用url_prefix设置蓝图前缀 add_url_rule 欲实现url与视图函数的绑定&#xff0c;除了使用路由装饰器app.route&#xff0c;我们还可以通过add_url_rule(rule,endpointNone,view_funcNone)方法&#xff0c;其中&…

头歌实践教学平台:投影变换v2.0

第4关&#xff1a;视口变换与三视图 一. 任务描述 1. 本关任务 (1) 理解投影变换的方法; (2) 将main函数中的空白部分补充完整。 2. 输入 (1) 代码将自动输入一个边长为1的obj正方体模型&#xff0c;具体模型如下图&#xff1a; (2) 代码自动将模型投影到二维平面&#xf…

Java毕业设计 基于SSM SpringBoot vue宠物领养平台

Java毕业设计 基于SSM SpringBoot vue宠物领养平台 SSM 宠物领养平台 功能介绍 首页 图片轮播 新闻信息 新闻类型 新闻详情 宠物百科 宠物百科类型 宠物百科详情 宠物 宠物类型 宠物详情 立即领养 留言 论坛 发布帖子 登录 个人中心 宠物收藏 宠物领养订单 后台管理 登录注…

jsp校园商城派送系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 JSP 校园商城派送系统 是一套完善的web设计系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统采用serlvetdaobean mvc 模式&#xff0c;系统主要采用B/S模式 开发。开发环境为TOMCAT7.0,Myeclipse8.…

数据结构可视化(适合考研党)

废话不多说传送门 还在疑惑平衡二叉树、红黑树、B树、B树怎么插入构建的吗&#xff0c;不要慌张&#xff0c;这个网站会一步一步来演示.&#xff0c;听了咸鱼的课还不够&#xff0c;需要自己动手模拟一下各种数据结构的CRUD&#xff01;&#xff01;

Coze扣子开发指南:搭建一个免费的微信公众号AI客服

运营微信公众号的自媒体&#xff0c;现在借助Coze扣子可以非常好用而且免费的7*24客服了&#xff0c;完全不需要任何编程基础&#xff0c;操作非常简单&#xff1a; 打开Coze扣子&#xff0c;新建一个bot&#xff0c;输入bot名称、功能介绍和图标&#xff1a; 选择大语言模型&…

Python根据预设txt生成“你画我猜”题目PPT(素拓活动小工具)

Python根据预设txt生成“你画我猜”题目PPT&#xff08;素拓活动小工具&#xff09; 场景来源 去年单位内部的一次素拓活动&#xff0c;分工负责策划设置其中的“你画我猜”环节&#xff0c;网络上搜集到题目文字后&#xff0c;想着如何快速做成对应一页一页的PPT。第一时间想…

【LeetCode】树的DFS(前序、中序、后序)精选10题

目录 前序遍历&#xff1a; 1. 二叉树的所有路径&#xff08;简单&#xff09; 2. 求根节点到叶节点数字之和&#xff08;简单&#xff09; 3. 路径总和 III&#xff08;中等&#xff09; 中序遍历&#xff1a; 1. 递增顺序搜索树&#xff08;简单&#xff09; 2. 验证二…

【C++】深入剖析C++11 initializer_list 新的类功能 可变模板参数

目录 一、std::initializer_list 1、std::initializer_list是什么类型 2、std::initializer_list 的应用场景 ①给自定义容器赋值 ② 传递同类型的数据集合 二、新的类功能 1、默认成员函数 2、关键字default 3、关键字delete 三、可变参数模板 一、std::initialize…

Oracle 数据库全面升级为 23ai

从 11g 到 12c 再到 19c&#xff0c;今天&#xff0c;我们迎来了 23ai &#xff01; “ Oracle AI Vector Search allows documents, images, and relational data that are stored in mission-critical databases to be easily searched based on their conceptual content Ge…

Visual Studio C++ 的一个简单示例

Visual Studio 项目属性设置&#xff1a; 项目属性→C/C→常规→附加包含目录 C:\Intel\include\iconv\include;项目属性→链接器→常规→附加库目录 C:\Intel\include\iconv\lib;项目属性→链接器→输入→附加依赖项 iconv.lib;提示缺少"iconv.dll"&#xff0c;…

架构设计 | 分布式与集群有什么区别

作为一名从业多年的程序员&#xff0c;对于分布式和集群这两种架构有着深入的了解。简单来说&#xff0c;分布式是将一个任务分拆到多个节点共同完成&#xff0c;而集群则是多个节点执行相同的任务。具体来说&#xff0c;分布式和集群的区别体现在以下几个方面&#xff1a; 一…

2024年钉钉群直播回放如何永久保存

工具我已经打包好了&#xff0c;有需要的自己取一下 链接&#xff1a;百度网盘 请输入提取码 提取码&#xff1a;1234 --来自百度网盘超级会员V10的分享 1.首先解压好我给大家准备好的压缩包 2.再把逍遥一仙下载器压缩包也解压一下 3.打开逍遥一仙下载器文件夹里面的M3U8…

开源的贴吧数据查询工具

贴吧数据查询工具 这是一个贴吧数据查询工具&#xff0c;目前仍处于开发阶段。 本地运行 要本地部署这个项目&#xff0c;请 克隆这个仓库并前往项目目录 git clone https://github.com/Dilettante258/tieba-tools.git cd tieba-tools安装依赖 pnpm install运行项目 np…

输入序列太长 gan CGAN

transformer序列长度大导致计算复杂度高 GAN 2. 训练过程 第一阶段&#xff1a;固定「判别器D」&#xff0c;训练「生成器G」。使用一个性能不错的判别器&#xff0c;G不断生成“假数据”&#xff0c;然后给这个D去判断。开始时候&#xff0c;G还很弱&#xff0c;所以很容易被…

Java并发编程面试问题与答案

1. 什么是线程安全&#xff1f; 答&#xff1a; 线程安全意味着多个线程可以同时访问一个类的实例而不引起任何问题或不一致的结果。线程安全的代码会通过同步机制来确保所有线程都能正确地访问共享资源。 2. 解释Java中的synchronized关键字。 答&#xff1a; synchronized…