软件测试(实验五)——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.rhkb.cn/news/318867.html

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

相关文章

设计模式之代理模式ProxyPattern(六)

一、代理模式介绍 1、什么是代理模式&#xff1f; 代理模式是一种结构型设计模式&#xff0c;它允许为其他对象提供一个替代品或占位符&#xff0c;以控制对这个对象的访问。 2、代理模式的角色构成 抽象主题&#xff08;Subject&#xff09;&#xff1a;定义了真实主题和代…

基础IO认识

回顾文件 我们之前认识文件只是在语言程度上理解&#xff0c;但是我们理解的不够彻底&#xff0c;要想真正理解文件要在os上理解。 简单代码认识 1 #include<stdio.h>2 int main(){3 FILE* fpfopen("log.txt","w");4 if(fpNULL){5 p…

Java 类与对象

目录 1 类是什么 1.1 面向对象 1.2 面向对象与面向过程 2 类定义和使用 2.1 类的定义格式 2.2 练习定义一个狗类 3 类的实例化 4 this引用 5 对象的构造与初始化 5.1 构造方法与初始化 5.2 默认初始化 5.3 就地初始化 1 类是什么 关于类是什么&#xff0c;我们需要对…

vs2019 - 用自定义对话框消息框替代MessageBox

文章目录 vs2019 - 用自定义对话框消息框替代MessageBox概述笔记效果用法调用方代码实现MessageBoxDialog.hMessageBoxDialog.cppEND vs2019 - 用自定义对话框消息框替代MessageBox 概述 当工程被逆向时&#xff0c;如果存在AfxMessageBox(), ::MessageBox()的调用&#xff0…

【深度学习】第一门课 神经网络和深度学习 Week 4 深层神经网络

&#x1f680;Write In Front&#x1f680; &#x1f4dd;个人主页&#xff1a;令夏二十三 &#x1f381;欢迎各位→点赞&#x1f44d; 收藏⭐️ 留言&#x1f4dd; &#x1f4e3;系列专栏&#xff1a;深度学习 &#x1f4ac;总结&#xff1a;希望你看完之后&#xff0c;能对…

Jupyter Notebook魔术命令

Jupyter Notebook是一个基于网页的交互式笔记本&#xff0c;支持运行多种编程语言。 Jupyter Notebook 的本质式一个Web应用程序&#xff0c;便于创建和共享文学化程序文档&#xff0c;支持实现代码&#xff0c;数学方程&#xff0c;可视化和markdown。用途包括&#xff1a;数据…

spring cloud eureka 初始化报错(A bean with that name has already been defined)

报错内容 The bean ‘eurekaRegistration’, defined in class path resource [org/springframework/cloud/netflix/eureka/EurekaClientAutoConfiguration E u r e k a C l i e n t C o n f i g u r a t i o n . c l a s s ] , c o u l d n o t b e r e g i s t e r e d . A …

Adobe PS 2023、Adobe Photoshop 2023下载教程、安装教程

Adobe Photoshop &#xff08;<-下载连接&#xff09;简介&#xff1a; Adobe Photoshop是一款广泛使用的图像处理软件&#xff0c;由Adobe公司开发。它提供了许多强大的工具和功能&#xff0c;可以用于图像编辑、合成、修饰、设计等各个领域。用户可以使用Photoshop来调整…

golang学习笔记(协程的基础知识)

golang的协程 协程是一种轻量级的线程&#xff0c;它可以实现并发执行的并行操作。协程是Go语言中的一个核心特性&#xff0c;它使得程序能够以并发的方式运行&#xff0c;并且非常高效。与传统的线程相比&#xff0c;协程的创建和销毁成本非常低&#xff0c;可以方便地启动大…

k8s 资源组版本支持列表

1 kubernetes的资源注册表 kube-apiserver组件启动后的第一件事情是将Kubernetes所支持的资源注册到Scheme资源注册表中,这样后面启动的逻辑才能够从Scheme资源注册表中拿到资源信息并启动和运行API服务。 kube-apiserver资源注册分为两步:第1步,初始化Scheme资源注册表;…

thinkphp家政上门预约服务小程序家政保洁师傅上门服务小程序上门服务在线派单安装教程

介绍 thinkphp家政上门预约服务小程序家政保洁师傅上门服务小程序上门服务在线派单安装教程 上门预约服务派单小程序家政小程序同城预约开源代码独立版安装教程 程序完整&#xff0c;经过安装检测&#xff0c;可放心下载安装。 适合本地的一款上门预约服务小程序&#xff0…

数据结构------栈的介绍和实现

目录 1.栈的一些初步认识 2.栈的实现 3.相关的函数介绍 &#xff08;1&#xff09;栈的初始化 &#xff08;2&#xff09;栈的销毁 &#xff08;3&#xff09;栈的数据插入 &#xff08;6&#xff09;判断是否为空 &#xff08;7&#xff09;栈的大小 4.栈的实现完整…

iBarcoder for Mac:一站式条形码生成软件

在数字化时代&#xff0c;条形码的应用越来越广泛。iBarcoder for Mac作为一款专业的条形码生成软件&#xff0c;为用户提供了一站式的解决方案。无论是零售、出版还是物流等行业&#xff0c;iBarcoder都能轻松应对&#xff0c;助力用户实现高效管理。 iBarcoder for Mac v3.14…

win11 Terminal 部分窗口美化

需求及分析&#xff1a;因为在 cmd、anaconda prompt 窗口中输入命令较多&#xff0c;而命令输入行和输出结果都是同一个颜色&#xff0c;不易阅读&#xff0c;故将需求定性为「美化窗口」。 美化结束后&#xff0c;我在想是否能不安装任何软件&#xff0c;简单地通过调整主题颜…

windows驱动开发-PNP管理器

PNP技术是由Microsoft提出的&#xff0c;英文Plug and play的缩写&#xff0c;中译即插即用&#xff0c;意思是系统自动侦测周边设备和板卡并自动安装设备驱动程序&#xff0c;做到插上就能用&#xff0c;无须人工干预&#xff0c;是Windows自带的一项技术。所谓即插即用是指将…

从零开始搭建一个vue项目

从零开始搭建一个vue项目 一、环境准备 1.1 安装node.js 选择合适的LTS版本&#xff0c;然后下载安装&#xff0c;安装地址&#xff1a;https://nodejs.org/en/download 在命令行中查看已安装的node.js版本 node -v v14.14.01.2 切换为淘宝的镜像源 解决国内下载慢的问题,…

极简shell制作

&#x1f30e;自定义简单shell制作 &#xff08;ps: 文末有完整代码&#xff09; 文章目录&#xff1a; 自定义简单shell制作 简单配置Linux文件 自定义Shell编写 命令行解释器       获取输入的命令       字符串分割       子进程进行进程替换 内建命令…

.NET 检测地址/主机/域名是否正常

&#x1f331;PING 地址/主机名/域名 /// <summary>/// PING/// </summary>/// <param name"ip">ip</param>/// <returns></returns>public static bool PingIp(string ip){System.Net.NetworkInformation.Ping p new System.N…

OpenAI 新推出 AI 问答搜索引擎——SearchGPT 震撼登场

您的浏览器不支持 video 标签。 OpenAI-SearchGPT 近日&#xff0c;OpenAI 曝光了自己的一款令人瞩目的 AI 问答搜索引擎——SearchGPT。这款搜索引擎带来了全新的搜索体验&#xff0c;给整个行业带来了巨大的压力。 SearchGPT 支持多种强大的功能。首先&#xff0c;它能够通过…

蓝桥杯练习系统(算法训练)ALGO-949 勇士和地雷阵

资源限制 内存限制&#xff1a;256.0MB C/C时间限制&#xff1a;1.0s Java时间限制&#xff1a;3.0s Python时间限制&#xff1a;5.0s 问题描述 勇士们不小心进入了敌人的地雷阵&#xff08;用n行n列的矩阵表示&#xff0c;*表示某个位置埋有地雷&#xff0c;-表示某个…