当前位置: 首页 > news >正文

JMeter的使用(二)

九、直连数据库

通过直连数据库让程序代替接口访问数据库,如果二者预期结果不一致,就找到了程序缺陷。

获取某条学院的名字,放在百度搜索:

  1. JMeter 不具备直连数据库功能,必须整合第三方(jar包)实现
  2. 配置数据库的连接
  3. 通过JDBC Request请求向数据库发送 SQL语句并接收提取响应结果
  4. 结果获取规则可以通过 Debug Sampler 组件查看
  5. 将提取到的响应结果在百度上

1、测试计划添加jdbc链接配置

步骤:测试计划--》配置元件--》JDBC Connection Configuration

2、测试计划添加jar包

3、线程组添加调试取样器

 步骤:线程组--》添加--》取样器--》Debug Sampler。

4、百度搜索结果

这里可以当成一个思路,如果想用上面的结果去做其他的事情是怎么用?

比如:百度搜索某个结果,运用对应的结果:${变量名}

十、断言

断言:让程序代替人工判断响应结果是否符合预期

响应断言=断言状态码和响应体

大小断言=判断响应内容的字节长度

断言持续时间=判断响应时间

步骤:
1、按照之前的实现编写测试脚本
2、为被判断的取样器添加断言组件
3、直接运行查看结果断言通过:无提示;断言失败:给出错误

①响应断言

步骤:请求--》添加--》断言--》响应断言

 举例:响应文本结构是否包含“xxx”

②大小断言

步骤:请求--》添加--》断言--》大小断言

③时间断言

十一、JMeter的逻辑控制器

通过参数化可以实现单个接口的功能测试,而接口测试过程中,除了单个接口的功能测试之外,还会测试接口业务实现,所谓业务,就是一套完整的业务逻辑或流程,这就必须要使用到逻辑控制和关联。

步骤:请求上--》添加--》逻辑控制器--》选择对应的逻辑控制器

①if逻辑控制器

注意这里的显示,必须包含请求

②foreach逻辑控制器

③循环逻辑控制器

好处:可以单独设置请求的循环次数 

十二、JMeter的后置处理器

关联:上一个请求的响应结果和下一个请求的数据有关系

①xpath提取器

举例需求:两个http请求,请求A访问传智播客官网,请求B访问百度,请求A将传智播客官网源码中的 title 标签的值取出,传递给请求B,在请求B中作为关键字搜索这个 title值

步骤:
1、搭框架编写两个请求,传智播客 +百度搜索
2、核心: 取出传智播客页面源码的 title 值
3、传递给百度:${变量名}的方式传值

步骤:请求-》添加--》后置处理器--》xpath提取器

 ②正则表达式提取器

步骤:请求-》添加--》后置处理器--》正则表达提取器

十三、跨越线程传值

变量作用域局限于当前线程组,其他线程组不可以直接调用。可以将请求A中提取的结果导出到公共空间(可以被不同线程组共享),请求B再从公开空间调用该变量,相当于全局变量。

 步骤:请求-》添加--》后置处理器--》BeanShell后置处理程序

十四、性能测试

模拟各种正常的、峰值的测试环境,检测程序的各项性能指标是否能够达标。

①高并发

JMeter 中内置了 定时器,可以实现时间模式相关的性能测试

需求1:同一时刻 100 个同学去访问学生管理系统的查询所有学院信息功能,统计高并发情况下平均响应时间以及错误率(高并发)
1、搭框架,测试计划,线程组,取样器,结果树(局限性),指定线程组的线程数属性值为 100
2、添加定时器 synchronizing timer(集合点组件)
3、运行并查看结果查看: 聚合报告组件,可以对结果汇总分析

同步定时器步骤:请求--》添加--》定时器--》synchronizing timer

聚合报告步骤:线程--》添加--》监听器--》聚合报告

②高频率

 需求2:一个用户以20QPS(== 20次/s)的频率访问学生管理系统服务器,持续15秒,统计服务器的平均响应时间
QPS:Query per Seconds 每秒查询数(查询率)每秒访问多少次服务器

1、搭框架,测试计划,线程组,取样器,聚合报告,根据题干计算数据:循环次数=访问频率*持续时间
2、添加QPS访问频率控制的相关组件:每分钟访问次数=访问频率*60

常数吞吐量定时器步骤:请求--》添加--》定时器--》Constant Throughput Timer

③分布式

多台机协作,以集群的方式完成测试任务,可以提高测试效率。

角色划分:
控制机 = 负责任务分配

执行机 = 负责任务实现

工作流程:
1、控制机需要制定测试任务,并下发到执行机

2、执行机执行任务并将结果返回个控制机

3、控制机做结果汇总

十五、接口功能测试

1、制定测试计划,分配任务
2、从API 文档中提取接口清单: 对 API 文档简化提高测试效率,接口清单就是对 API 文档简化压,主要提取三要素
3、设计测试用例并参数化覆盖测试用例
4、编写脚本实现,并导入设计的测试数据
5、测试结果汇总,BUG提交

相关文章:

JMeter的使用(二)

九、直连数据库 通过直连数据库让程序代替接口访问数据库,如果二者预期结果不一致,就找到了程序缺陷。 获取某条学院的名字,放在百度搜索: JMeter 不具备直连数据库功能,必须整合第三方(jar包)实现配置数据库的连接通过JDBC Re…...

C/C++文件操作/IO流

学习任务: ⭐认识文件。⭐学习C语言中文件如何打开和关闭。⭐学习C语言中文件的读写方法(包括顺序读写和随机读写)。⭐学习C语言文件操作中如何判断文件读取结束。⭐简单了解FILE缓冲区。⭐认识流。⭐学习C的IO流,包括标准IO流和文…...

推荐 7 个超牛的 Spring Cloud 实战项目

个 把一个大型的单个应用程序和服务拆分为数个甚至数十个的支持微服务,这就是微服务架构的架构概念,通过将功能分解到各个离散的服务中以实现对解决方案的解耦。 关于微服务相关的学习资料不多,而 GitHub 上的开源项目可以作为你微服务之旅…...

Linux信号:信号 信号集 信号集函数

1. 信号的概念 Linux进程间通信的方式之一。信号也称为“软件中断”。 信号特点: 简单;携带信息有限;满足特定条件才发送信号;可进行用户空间和内核空间进程的交互; 信号4要素: (1&#xf…...

详解八大排序算法-附动图和源码(插入,希尔,选择,堆排序,冒泡,快速,归并,计数)

目录 🍏一.排序的概念及应用🍏 1.排序的概念 2.排序的应用 3.常用的排序算法 🍎二.排序算法的实现🍎 1.插入排序 1.1直接插入排序 1.2希尔排序(缩小增量排序) 2.选择排序 2.1直接选择排序 2.2堆排序…...

网络编程--协议、协议族、地址族

写在前面 这里先介绍下socket函数&#xff08;Windows版本&#xff09;的函数声明&#xff0c;后续内容均围绕该声明展开&#xff1a; #include <winsock2.h> //af: 指定该套接字的协议族 //type: 指定该套接字的数据传输方式 //protocol: 指定该套接字的最终协议 //返…...

Linux入门操作

pwd 查看当前目录 与 自动补全 文件详情 drwxrwxr-x d代表文件夹 -代表文件 其中rwx rwx r-x r是可读 w是可写 x 执行 第一组&#xff08;前三个&#xff09;指文件拥有者的权限 第二组&#xff08;中三个&#xff09;代表文件拥有的组的权限 第三组&#xff08;后三个&am…...

1。C语言基础知识回顾

学习嵌入式的C基础知识&#xff0c;主要包括几个核心知识点&#xff1a;三大语法结构、常用的数据类型、函数、结构体、指针、文件操作。 一、顺序结构 程序自上而下依次执行、没有分支、代码简单。 常见顺序结构有&#xff1a;四则运算&#xff1a;&#xff0c;-&#xff0…...

学习如何通过构建一个简单的JavaScript颜色游戏来操作DOM

学习如何通过构建一个简单的JavaScript颜色游戏来操作DOM 题目要求 我们将构建一个简单的颜色猜谜游戏。每次游戏启动时&#xff0c;都会选择一个随机的RGB颜色代码。根据游戏模式&#xff0c;我们将在屏幕上提供三个&#xff08;简单&#xff09;或六个&#xff08;困难&…...

【算法学习】—n皇后问题(回溯法)

【算法学习】—n皇后问题(回溯法) 1. 什么是回溯法&#xff1f; 相信"迷宫"是许多人儿时的回忆&#xff0c;大家小时候一定都玩过迷宫游戏。我们从不用别人教&#xff0c;都知道走迷宫的策略是&#xff1a; 当遇到一个岔路口&#xff0c;会有以下两种情况&#xf…...

万亿OTA市场进入新爆发期,2025或迎中国汽车软件付费元年

伴随智能汽车市场规模发展&#xff0c;越来越多的汽车产品具备OTA能力&#xff0c;功能的优化、以及服务的差异化&#xff0c;成为了车企竞争的新战场。 例如&#xff0c;今年初&#xff0c;问界M5 EV迎来了首次OTA升级&#xff0c;升级内容覆盖用户在实际用车中的多个场景&am…...

Android硬件通信之 蓝牙Mesh通信

一&#xff0c;简介 蓝牙4.0以下称为传统蓝牙&#xff0c;4.0以上是低功耗蓝牙&#xff0c;5.0开始主打物联网 5.0协议蓝牙最重要的技术就是Mesh组网&#xff0c;实现1对多&#xff0c;多对多的无线通信。即从点对点传输发展为网络拓扑结构&#xff0c;主要领域如灯光控制等&…...

PG数据库实现bool自动转smallint的方式

删除函数&#xff1a; 语法&#xff1a; DROP FUNCTION IF EXISTS your_schema_name.function_name(arg_type1, arg_type2) CASCADE RESTRICT; 实例&#xff1a; DROP FUNCTION IF EXISTS platformyw.boolean_to_smallint(bool) CASCADE RESTRICT; 查询是否存在函数 语法: SELE…...

易观千帆 | 2023年3月证券APP月活跃用户规模盘点

易观&#xff1a;2023年3月证券服务应用活跃人数14131.58万人&#xff0c;相较上月&#xff0c;环比增长0.61%&#xff0c;同比增长0.60%&#xff1b;2023年3月自营类证券服务应用Top10 活跃人数6221.44万人&#xff0c;环比增长0.08%&#xff1b;2023年3月第三方证券服务应用T…...

2023年江苏专转本成绩查询步骤

2023年江苏专转本成绩查询时间 2023年江苏专转本成绩查询时间预计在5月初&#xff0c;参加考试的考生&#xff0c;可以关注考试院发布的消息。江苏专转本考生可在规定时间内在省教育考试院网&#xff0c;在查询中心页面中输入准考证号和身份证号进行查询&#xff0c;或者拨…...

JavaScript中sort()函数

sort()函数是javascript中自带函数&#xff0c;这个函数的功能是排序。 使用sort()函数时&#xff0c;函数参数如果不设置的话&#xff0c;以默认方式进行排序&#xff0c;就是以字母顺序进行排序&#xff0c;准确的讲就是按照字符编码的顺序进行排序。 var arr [3,2,3,34,1…...

泰克Tektronix DPO5204B混合信号示波器

特征 带宽&#xff1a;2 GHz输入通道&#xff1a;4采样率&#xff1a;1 或 2 个通道上为 5 GS/s、10 GS/s记录长度&#xff1a;所有 4 个通道 25M&#xff0c;50M&#xff1a;1 或 2 个通道上升时间&#xff1a;175 皮秒MultiView zoom™ 记录长度高达 250 兆点>250,000 wf…...

突破传统监测模式:业务状态监控HM的新思路

作者&#xff1a;京东保险 管顺利 一、传统监控系统的盲区&#xff0c;如何打造业务状态监控。 在系统架构设计中非常重要的一环是要做数据监控和数据最终一致性&#xff0c;关于一致性的补偿&#xff0c;已经由算法部的大佬总结过就不在赘述。这里主要讲如何去补偿&#xff…...

0Ω电阻在PCB板中的5大常见作用

在PCB板中&#xff0c;时常见到一些阻值为0Ω的电阻。我们都知道&#xff0c;在电路中&#xff0c;电阻的作用是阻碍电流&#xff0c;而0Ω电阻显然失去了这个作用。那它存在于PCB板中的原因是什么呢&#xff1f;今天我们一探究竟。 1、充当跳线 在电路中&#xff0c;0Ω电阻…...

分布式消息队列Kafka(三)- 服务节点Broker

1.Kafka Broker 工作流程 &#xff08;1&#xff09;zookeeper中存储的kafka信息 ​ 1&#xff09;启动 Zookeeper 客户端。 [zrclasshadoop102 zookeeper-3.5.7]$ bin/zkCli.sh ​ 2&#xff09;通过 ls 命令可以查看 kafka 相关信息。 [zk: localhost:2181(CONNECTED) 2]…...

古基因组学:降解DNA的损伤模式、污染评估与群体历史推断

点击 “AladdinEdu&#xff0c;你的AI学习实践工作坊”&#xff0c;注册即送-H卡级别算力&#xff0c;沉浸式云原生集成开发环境&#xff0c;80G大显存多卡并行&#xff0c;按量弹性计费&#xff0c;教育用户更享超低价。 摘要&#xff1a;古基因组学通过对古代生物遗骸中高度降…...

Applied Intelligence投稿实战:从格式要求到高接受率的5个关键策略

1. 精准匹配期刊范围&#xff1a;避免编辑秒拒的第一道防线 投稿Applied Intelligence期刊时&#xff0c;最容易被忽视却最关键的一步就是研究范围匹配。我审过30篇稿件&#xff0c;发现80%的"desk rejection"&#xff08;编辑直接拒稿&#xff09;都源于研究方向与…...

郭老师-我们为什么要爱国?

我们为什么要爱国&#xff1f; ——因为家在&#xff0c;根在&#xff0c;魂在“你可以不爱你的管家&#xff0c; 但必须爱你家的房子。”&#x1f33f; 国家如屋&#xff0c;人民为主&#xff0c; 执政者不过管家—— 而这屋&#xff0c;是我们的命脉所系。&#x1f3e0; 一、…...

RMBG-2.0企业级应用:集成至Shopify后台实现订单图自动去背流水线

RMBG-2.0企业级应用&#xff1a;集成至Shopify后台实现订单图自动去背流水线 想象一下&#xff0c;你是一家Shopify店铺的运营负责人。每天&#xff0c;团队需要处理上百张来自不同供应商的商品图片&#xff0c;手动抠图、换背景&#xff0c;只为让商品主图在网站上看起来统一…...

Ostrakon-VL扫描终端部署:支持HTTPS与Basic Auth安全访问

Ostrakon-VL扫描终端部署&#xff1a;支持HTTPS与Basic Auth安全访问 1. 项目概述 Ostrakon-VL扫描终端是一款基于Ostrakon-VL-8B多模态大模型开发的Web交互应用&#xff0c;专为零售与餐饮行业场景优化设计。与传统工业级UI不同&#xff0c;该终端采用高饱和度的像素艺术风格…...

元宇宙拆迁队:强拆违规建筑日入十万

从Bug猎人到空间执法官当传统的软件测试工程师还在为揪出一个隐蔽的NullPointerException而欢欣鼓舞时&#xff0c;一片更为广阔、也更为凶险的新战场已经悄然开启——元宇宙。在这里&#xff0c;代码的缺陷不再仅仅导致程序崩溃或数据丢失&#xff0c;它们会具象化为扭曲的空间…...

从裸机到RTOS:IMX6ULL启动流程与FreeRTOS源码实战解析

1. IMX6ULL裸机启动机制详解 第一次拿到IMX6ULL开发板时&#xff0c;很多人会疑惑&#xff1a;为什么我的程序烧录进去没反应&#xff1f;这得从芯片的启动机制说起。IMX6ULL上电后最先执行的并不是我们写的代码&#xff0c;而是芯片内部ROM中的固化程序。这个ROM代码就像个尽职…...

Android BLE开发实战:从BlueDroid扫描流程到性能调优全解析(附代码示例)

Android BLE开发深度优化&#xff1a;从BlueDroid扫描机制到实战性能调优 1. 理解BLE扫描的核心机制 在Android蓝牙低功耗&#xff08;BLE&#xff09;开发中&#xff0c;扫描机制是连接设备的第一步&#xff0c;也是最容易出现性能瓶颈的环节。与传统的蓝牙扫描不同&#xff0…...

本地硬盘装系统神器更新!WinToHDD v7.0,支持加密/多分区安装

软件下载 夸克下载&#xff1a;https://pan.quark.cn/s/8bb2d79a1f4c迅雷下载&#xff1a;https://pan.xunlei.com/s/VOottCVsfGa3nDKv07YreMVPA1?pwdve85#UC下载&#xff1a;https://pan.xunlei.com/s/VOottCVsfGa3nDKv07YreMVPA1?pwdve85# 软件介绍 前几天一直看见有群友…...

Java开发者必看:Istio 1.22正式弃用Mixer后,Prometheus指标丢失、日志脱节、Tracing断链问题的90分钟极速修复方案

第一章&#xff1a;Java开发者必看&#xff1a;Istio 1.22正式弃用Mixer后&#xff0c;Prometheus指标丢失、日志脱节、Tracing断链问题的90分钟极速修复方案Istio 1.22 彻底移除了 Mixer 组件&#xff0c;导致依赖其适配器模型的遥测采集链路全面失效。Java 应用在启用 Istio …...