JMeter 安装及使用 [软件测试工具]
目录
JMeter
1. JMeter 安装
1.1 点击官网下载: JMeter官网下载
1.2 下载后解压即可
1.3 打开 JMeter
1.3.1 方式一: 点击对应程序打开
1.3.2 方式二: 命令行启动
1.4 关闭 JMeter
2. JMeter 基础配置
2.1 修改字体为简体中文
2.2 添加拓展插件
2.2.1 下载其他监听器
2.2.2 下载线程组插件
3. JMeter 基本使用流程
3.1 启动 JMeter
3.2 添加 "线程组"
3.3 添加 "HTTP" 取样器
3.4 填写 "HTTP 请求" 的相关请求数据
编辑
3.5 添加 "查看结果树" 监听器
3.6 启动测试并查看接口测试结果
4. JMeter 元件作用域和执行顺序
4.1 JMeter 作用域
4.2 JMeter 执行顺序
5. 重要组件
5.1 线程组
5.2 HTTP 取样器
编辑
5.3 查看结果树
5.4 HTTP Cookie 管理器
5.5 HTTP 请求默认值
5.6 用户定义的变量
5.7 CSV 数据文件设置
5.7.1 csv 数据文件设置
5.7.2 编写 test.csv 文件
5.7.3 修改登录接口及其他涉及到 username 和 password 获取的参数
5.7.4 修改线程组中线程数, 使得每次取到的 username 和 password 都不一样
编辑
5.8 JSON 提取器
5.8.1 部分JSON 操作符
5.8.2 添加 JSON 配置
5.8.3 配置 JSON 提取的参数
5.9 JSON 断言
5.9.1 添加 JSON 断言
5.9.2 添加 JSON 断言配置
5.10 同步定时器 (集合点)
5.11 事务控制器
5.12 其他常用监听器
5.12.1 Stepping Thread Group
5.12.2 聚合报告
5.12.3 Response Times Over Time 监听器
5.12.4 Transaction per Second (TPS)
6. 测试报告
6.1 生成性能测试报告的命令
6.2 查看测试报告
JMeter
1. JMeter 安装
1.1 点击官网下载: JMeter官网下载
1.2 下载后解压即可
1.3 打开 JMeter
// 先找到解压后的目录, 然后点开 bin 目录, 找到 jmeter.bat 文件
1.3.1 方式一: 点击对应程序打开
1.3.2 方式二: 命令行启动
// 添加 PATH 变量
1) 右键此电脑, 点击属性(Win11系统)
2) 找到高级系统设置并点击
3) 按照步骤配置环境变量(路径要对, 并且对应到 bin 目录下面)
// 保存后使用命令行工具打开 (win + R 然后 输入 cmd 回车)
// 在命令行直接输入 jmeter 回车就可以打开了
1.4 关闭 JMeter
// 直接关闭黑窗口就可以关闭了
2. JMeter 基础配置
2.1 修改字体为简体中文
// 找到 bin 目录下的 jmeter.properties 文件, 右键使用记事本打开
// 找到下面这行内容, 将 # 号删除, 然后 language 改为 zh_CN
// 保存 (Ctrl + S), 然后重新打开 JMeter 就好了
2.2 添加拓展插件
// 点击进入插件下载网页
// 点击下载后重新打开 JMeter, 我们会发现右上角有了一个小蝴蝶图标, 点击进入, 按照需求下载相关插件即可
2.2.1 下载其他监听器
2.2.2 下载线程组插件
// 下载完之后点击右下角这个, 等待重启就可以了
3. JMeter 基本使用流程
3.1 启动 JMeter
3.2 添加 "线程组"
// 在 "测试计划" 目录下面 右键 添加
3.3 添加 "HTTP" 取样器
// 在 "线程组" 目录下面 右键 添加
3.4 填写 "HTTP 请求" 的相关请求数据
3.5 添加 "查看结果树" 监听器
3.6 启动测试并查看接口测试结果
// 右上角可以看测试用时和已完成任务数
4. JMeter 元件作用域和执行顺序
4.1 JMeter 作用域
// 主要由测试计划中的树形结构中的元件父子关系来确定
// 有明确的父子关系,就好像文件夹一样, 到哪一级才能访问同级下的文件
4.2 JMeter 执行顺序
// 取样器元件内组件不依赖其他元件就可执行, 因此取样器不存在作用问题
// 元件 作用域支队它的子节点有作用
// 其它作用域默认根据测试计划中树形结构来决定
5. 重要组件
5.1 线程组
// 控制 JMeter 将用于执行测试的线程数, 也可以把一个线程理解成一个测试用户
// 线程数: 一个线程即一个测试用户, 设置发送的请求次数
// Ramp-Up 时间 (秒) : 设置性能测试运行时间, 单位为秒
// 循环次数: 1) 配置指定次数: 控制脚本循环执行的次数; 2) 配置循环永远: 需要调度器配合使用; 运行时间即脚本执行时间; 延迟启动时间即脚本等待指定时间才能运行
5.2 HTTP 取样器
// 添加必须的配置: 1) http 协议: http 主机名/IP; 2) 端口: http 协议端口 + https 端口号; 3) 请求方法: 路径 (目录 + 参数); 内容编码 (默认的 ISO 国际标准, 但是对中文不太友好, 可以使用 utf-8); 4) 参数: 参数可以拼在路径里, 也可以写在参数中
5.3 查看结果树
// 取样器结果: 统计请求相关的信息
// Thread Name: 线程组名称
// Sample time: 发送请求时间
// load time: 响应时间
// Response code : 接口响应状态码
5.4 HTTP Cookie 管理器
// HTTP Cookie 管理器想 Web 浏览器一样存储和发送 Cookie
// 如果 HTTP 请求并响应包含 Cookie, 则 Cookie 管理器会自动存储该 Cookie, 并将其用于将来对该特定网站的所有请求
// 每个 JMeter 线程都有自己的 "Cookie存储区", 因此, 正在测试使用 Cookie 存储会话信息的网站, 则每个 JMeter 线程豆浆拥有字节的会话
// 此类 Cookie 不会显示在 Cookie 管理器显示屏上, 可以使用 "查看结果树监听器" 查看
// 缓存配置可选择 standard (标准) 或 compatibility (兼容的), 当然也可以手工添加一下 Cookie
// 添加了 HTTP Cookie 管理器后, 会自动存储并发送 Cookie
5.5 HTTP 请求默认值
// 测试时如果涉及到的接口协议, IP, 端口号 全都一样, 可以单独抽取出来, 存放在默认值中, 其它接口就可以省略不写这些内容, 提高测试效率
5.6 用户定义的变量
// 可以自定义一个变量, 用来表示常用的一些变量, 当这些变量在多个脚本使用时, 用自定义的变量方便管理和修改
5.7 CSV 数据文件设置
5.7.1 csv 数据文件设置
// 文件名: 填写 csv 文件的路径, 建议使用绝对路径 (在文件系统或网络环境中,从根目录或起始位置开始,完整地指定一个文件或目录位置的路径表示方法)
// 文件编码 UTF-8
// 变量名称: 从 csv 数据文件中读起的数据需要保存到的变量名, 有多个变量时用逗号隔开
// 是否忽略首行: 是否从 csv 数据文件第一行开始读取
// 分隔符: 要求与 csv 数据文件中多列的分隔符一致
// 遇到文件结束符再次循环: 若选择为 True, 当数据不够的时候会从头去取; 若选择 False, 则需要勾选羡慕的配置, 遇到文件结束符停止线程, 如果不勾选, 请求会报错
5.7.2 编写 test.csv 文件
// 使用 Excel 编写后保存为 test.csv 文件
5.7.3 修改登录接口及其他涉及到 username 和 password 获取的参数
// 修改完配置后, 登录接口发起请求时将从 csv 文件中获取配置好的 username 和 password 参数, 获取顺序为从上到下依次获取
5.7.4 修改线程组中线程数, 使得每次取到的 username 和 password 都不一样
5.8 JSON 提取器
// 针对某一个 HTTP 请求接口添加 JSON 提取器
5.8.1 部分JSON 操作符
Operator | Description |
$ | 表示根元素 |
@ | 当前元素 |
* | 通配符, 所有节点 |
.. | 选择所有符合条件的节点 |
.<name> | 子元素 |
['<name>'(,'<name>')] | 括号表示子元素或子元素列表 |
[<number>(,<number>)] | 数组索引或索引列表 |
[start:end] | 数组切片操作符 |
[?(<expression>)] | 过滤器表达式, 表达式必须评估为布尔值 |
// 想了解更加全面的可以参考:参考文档
// 获取相应中的所以 blogId 元素: $..blogId
// 获取第一个 blogId 元素: $.[0]blogId
5.8.2 添加 JSON 配置
5.8.3 配置 JSON 提取的参数
5.9 JSON 断言
// 接口发送请求成功, 响应码为 200 并不能完全代表接口请求成功, 我们更多的是需要关注接口响应数据是否符合预期
5.9.1 添加 JSON 断言
// 针对某一个 HTTP 请求接口添加 JSON 断言
5.9.2 添加 JSON 断言配置
// 若不选 Additionally assert value, 表示添加断言值, 则可用来判断字段是否存在
// 选择 Additionally assert value, 则必须添加 Expected Value 期望的断言值
// 若不选择 Match as regular expression (正则匹配), 则 Expected Value 必须填写完整, 少一个字符都会导致断言失败
// 若选择 Match as regular expression 正则匹配, 则 Expected Value 可以仅写上部分关键词即可断言成功
5.10 同步定时器 (集合点)
// 为了达到并发的效果, 需要添加同步定时器
// JMeter 同步定时器的作用主要在于模拟多用户并发访问的场景, 确保多个线程能够同时执行某个操作, 以达到真正的并发效果
// 当多个线程同时启动时, 它们可能会在不同的时间间隔内执行, 这样就无法达到真正的并发效果, 同步定时器的作用就是将这些线程的执行时间同步, 使他们在同一时间点执行, 他可以在多个线程之间制造一定的延迟, 直到同时到达指定时间点, 再同时执行后续的操作
// 在性能测试过程中, 为了真实模拟多个用户同时进行操作以度量服务器的处理能力, 可以使用同步定时器来设置集合点. 不过, 虽然通过加入集合点可以约束请求同时发送, 但不能确保请求同时到达服务器, 所以只能说是较真实模拟并发
5.11 事务控制器
// JMeter事务控制器的作用主要用于测试执行嵌套测试元素所花费的总时间, 这相当于模拟用户进行一系列操作的测试
// 在进行页面性能测试或 API 性能测试时, 事务控制器可以帮助测试人员更准确地评估系统性能, 尤其是在涉及多个接口或操作的复杂场景中
5.12 其他常用监听器
5.12.1 Stepping Thread Group
// 使用前提: 之前插件安装好, 并且获取了这个监听器
// This group will start: 启动多少个线程, 同线程组中的线程数
// First, wait for:等待多少秒才开始压测, 一般默认为 0
// Then start: 一开始有多少个线程数, 一般默认为 0
// Next, add: 下一次增加多少个线程数
// thread every: 当前运行多长时间后再次启动线程, 即每一次线程启动完成之后的持续时间
// using ramp-up: 启动线程的时间; 若设置为 5 秒, 表示每次启动线程都持续 5 秒
// Then hold load for: 线程全部启动完之后持续运行多长时间
// Finally, stop / thread every: 多产时间释放多少个线程; 若设置为 5 个 和 1 秒, 表示 持续负载结束之后每 1 秒钟释放 5 个线程
5.12.2 聚合报告
// 从聚合报告可以看到性能测试过程中整体的数据变化
5.12.3 Response Times Over Time 监听器
// Response Times Over Time 主要用于监听整个事务运行期间的响应时间, 在测试过程中, 它可以帮助测试人员观察并分析响应时间的实时平均值以及整体响应时间的走向, 通过这一监听器, 测试人员能够更加直观地了解系统在不同时间点的响应性能, 从而法相可能存在的性能问题或瓶颈
// Response Times Over Time 的图形展示中, 横坐标通常代表运行时间, 而纵坐标则代表响应时间(单位毫秒), 测试人员可以根据图形中的趋势线来判断响应时间的稳定性以及是否存在大的波动
5.12.4 Transaction per Second (TPS)
// JMeter 中的Transaction per Second 监听器是一个用于分析系统吞吐量的重要工具
// TPS: 每秒事务数, 表示一个客户机向服务器发送请求后服务器做出反应的过程
// TPS 值越高, 说明系统的处理能力越强
// 使用 TPS 监听器时, 横坐标通常代表运行时间, 而纵坐标则代表 TPS 值
6. 测试报告
// JMeter 测试报告是一个全面而详细的文档, 它提供了关于测试执行结果的详细信息, 帮助用户全面评估系统的性能并进行性能优化
6.1 生成性能测试报告的命令
// 格式: JMeter -n -t 脚本文件 - l 日志文件 -e -o 目录
// 示范: JMeter -n -t HTTP性能测试.jmx -l rezhi.jtl -e -o 日志/.
// 日志文件和目录可以不存在, 如已存在, 必须保证为空, 否则会报错
6.2 查看测试报告
// 命令执行成功后, 性能测试报告生成, 在 rizhi 文件夹下
// 双击 index.html 文件, 就会在网页展示 性能测试报告详情
相关文章:
JMeter 安装及使用 [软件测试工具]
目录 JMeter 1. JMeter 安装 1.1 点击官网下载: JMeter官网下载 1.2 下载后解压即可 1.3 打开 JMeter 1.3.1 方式一: 点击对应程序打开 1.3.2 方式二: 命令行启动 1.4 关闭 JMeter 2. JMeter 基础配置 2.1 修改字体为简体中文 2.2 添加拓展插件 2.2.1 下载其他监听器…...
Unity 资源合理性检测
一:表格过度配置,表格资源是否在工程中存在,并输出不存在的资源 import pandas as pd import glob import osassets [] count 0# 遍历configs文件夹下所有xlsx文件 for file_path in glob.glob(configs/*.xlsx):count 1try:sheets pd.re…...
vue-study(1)
黑马智数项目 黑马智数是一个数字化园区管理项目,该项目后台可以在线管理园区内的楼宇、企业、车辆和一体杆等资源,可视化大屏通过园区3D模型实时展示园区概况。通过该项目能学到如何用qiankun搭建微前端架构、用Echarts进行数据可视化、以及前沿的3D模…...
XS5032:高性能3DNR+HDR ISP-TX 2K芯片
爱芯元智 XS5032:高性能3DNRHDR ISP-TX 2K芯片 视频输入 支持MIPI接口,4lane,Max.1.5Gbps/lane 支持Sensor并口(DVP) 视频分辨率 支持多种同轴高清制式和标清制式,包括: 960H25/30fps&…...
[原创](现代Delphi 12指南):[macOS 64bit App开发]:如何使用NSString类型字符串?
[作者] 常用网名: 猪头三 出生日期: 1981.XX.XX 企鹅交流: 643439947 个人网站: 80x86汇编小站 编程生涯: 2001年~至今[共24年] 职业生涯: 22年 开发语言: C/C++、80x86ASM、Object Pascal、Objective-C、C#、R、Python、PHP、Perl、 开发工具: Visual Studio、Delphi、XCode、…...
TDengine 流计算引擎设计
流计算架构 TDengine 流计算的架构如下图所示。当用户输入用于创建流的 SQL 后,首先,该 SQL 将在客户端进行解析,并生成流计算执行所需的逻辑执行计划及其相关属性信息。其次,客户端将这些信息发送至 mnode。mnode 利用来自数据源…...
扩展中国剩余定理
中国剩余定理 中国剩余定理 考虑一组模线性同余方程: { x ≡ a 1 ( m o d m 1 ) x ≡ a 2 ( m o d m 2 ) . . . x ≡ a k ( m o d m k ) \begin{cases} x\equiv a_1\pmod{m1} \\ x\equiv a_2\pmod{m2}\\ .\\ .\\ .\\ x\equiv a_k\pmod{mk}\\ \end{cases} ⎩ ⎨ ⎧…...
git检查提交分支和package.json的version版本是否一致
这里写自定义目录标题 一、核心实现步骤1.安装必要依赖2.初始化 Husky3.创建校验脚本4.配置 lint-staged5.更新 Husky 钩子 三、工作流程说明四、注意事项 以下是基于 Git Hooks 的完整解决方案,通过 husky 和自定义脚本实现分支名与版本号一致性校…...
Git 详细使用说明文档(适合小白)
Git 详细使用说明文档(适合小白) 1. 什么是 Git? Git 是一个版本控制系统,帮助你管理和跟踪代码的变更。无论是个人项目还是团队协作,Git 都能帮助你记录代码的历史版本,方便回溯和协作。 2. 安装 Git …...
【嵌入式系统设计师(软考中级)】第二章:嵌入式系统硬件基础知识(2)
文章目录 3.嵌入式系统的存储体系3.1 存储系统的层次结构3.2 内存管理单元(MMU)3.3 RAM和ROM的种类3.3.1 RAM类型对比3.3.2 ROM类型对比 3.4 高速缓存(Cache)3.5 其他存储设备3.5.1 新型存储技术3.5.2 外存接口技术 3.嵌入式系统的…...
rk3588 驱动开发(三)第五章 新字符设备驱动实验
register_chrdev 和 unregister_chrdev 这两个函数是老版本驱动使用的函数,现在新的字符设备驱动已经不再使用这两个函数,而是使用 Linux 内核推荐的新字符设备驱动 API 函数。本节我们就来学习一下如何编写新字符设备驱动,并且在驱动模块加载…...
文件上传--WAF绕过干货
本文主要内容 绕过WAF上传文件 -- 安全狗 -- 宝塔 Burp抓包解析 #上传参数名解析:明确哪些东西能修改? Content-Disposition:—般可更改 name:表单参数值,不能更改 filename:文件名ÿ…...
BERT BERT
BERT ***** 2020年3月11日更新:更小的BERT模型 ***** 这是在《深阅读的学生学得更好:预训练紧凑模型的重要性》(arXiv:1908.08962)中提到的24种较小规模的英文未分词BERT模型的发布。 我们已经证明,标准的BERT架构和…...
Kotlin Multiplatform--02:项目结构进阶
Kotlin Multiplatform--02:项目结构进阶 引言正文 引言 在上一章中,我们对 Kotlin Multiplatform 项目有了基本的了解,已经可以进行开发了。但我们只是使用了系统默认的项目结构。本章介绍了如何进行更复杂的项目结构管理。 正文 在上一章中&…...
【ES实战】Elasticsearch中模糊匹配类的查询
Elasticsearch中模糊匹配类的查询 文章目录 Elasticsearch中模糊匹配类的查询通配符查询前缀匹配查询正则匹配查询标准的正则操作特殊运算符操作 模糊化查询Fuzziness text类型同时配置keyword类型 Elasticsearch中模糊类查询主要有以下 Wildcard Query:通配符查询P…...
纯真社区IP库离线版发布更新
纯真社区IP库离线版发布更新 发布者:技术分享 2005年,随着中国互联网的蓬勃发展,纯真IP库诞生了。作为全球网络空间地理测绘技术的领先者,纯真开源项目为中国互联网行业提供了高质量的网络空间IP库数据。纯真IP库目前已经覆盖超…...
直接偏好优化(Direct Preference Optimization,DPO):论文与源码解析
简介 虽然大规模无监督语言模型(LMs)学习了广泛的世界知识和一些推理技能,但由于它们是基于完全无监督训练,仍很难控制其行为。 微调无监督LM使其对齐偏好,尽管大规模无监督的语言模型(LMs)能…...
uniapp-商城-34-shop 购物车 选好了 进行订单确认
在shop页面选中商品添加到购物车,可选好后,进行确认和支付。具体呈现在shop页面。 1 购物车栏 shop页面代码: 购物车代码: 代码: <template><view><view class"carlayout"><!-- 车里…...
Kafka命令行的使用/Spark-Streaming核心编程(二)
Kafka命令行的使用 创建topic kafka-topics.sh --create --zookeeper node01:2181,node02:2181,node03:2181 --topic test1 --partitions 3 --replication-factor 3 分区数量,副本数量,都是必须的。 数据的形式: 主题名称-分区编号。 在…...
虚拟机详解
虚拟机详解 1. 虚拟机(Virtual Machine)的定义 系统虚拟机:通过软件模拟完整计算机系统(CPU、内存、外设等),如 VMware、VirtualBox。进程级虚拟机:为单个应用提供虚拟执行环境,如 …...
NOIP2013 提高组.转圈游戏
目录 题目算法标签: 数论, 模运算思路代码 题目 504. 转圈游戏 算法标签: 数论, 模运算 思路 看题意不难看出, 计算的是 ( x 1 0 k m ) m o d n (x 10 ^ k \times m) \mod n (x10km)modn, 如果直接计算一定会超时, 因此可以使用快速幂进行优化 代码 #include <iost…...
【金仓数据库征文】加速数字化转型:金仓数据库在金融与能源领域强势崛起
目录 一、引言 二、金仓数据库(KingbaseES)概述 1. 发展历程与市场地位 2. 核心技术架构 3. 金仓数据库的特点 三、金仓数据库在金融行业的应用 1. 金融行业的挑战与需求 2. 金仓数据库在金融行业的优势 3. 金仓数据库在金融行业的实际应用案例 …...
济南国网数字化培训班学习笔记-第二组-5节-输电线路设计
输电线路设计 工程设计阶段划分 35kv及以上输变电工程勘测设计全过程 可行性研究(包括规划、工程选站)(包括电力系统一次二次,站址选择及工程设想,线路工程选择及工程设想,节能降耗分析,环境…...
【前端】【业务场景】【面试】在前端开发中,如何实现一个可拖动和可缩放的元素,并且处理好边界限制和性能优化?
问题:在前端开发中,如何实现一个可拖动和可缩放的元素,并且处理好边界限制和性能优化? 一、实现可拖动和可缩放元素 HTML 和 CSS 基础设置: 创建一个 HTML 元素,并为其设置基本样式,使其在页面…...
BOM与DOM(解疑document window关系)
BOM(浏览器对象模型) 定义与作用 BOM(Browser Object Model)提供与浏览器窗口交互的接口,用于控制导航、窗口尺寸、历史记录等浏览器行为 window:浏览器窗口的顶层对象,包含全局属性和方法&am…...
504 nginx解决方案
当遇到 504 Gateway Time-out 错误时,通常是因为 Nginx 作为反向代理等待后端服务(如 PHP-FPM、Java 应用等)响应的时间超过了预设的超时阈值。以下是详细的解决方案,结合知识库中的信息整理而成: 一、核心原因分析 后…...
【LLM+Code】Windsurf Agent 模式PromptTools详细解读
一、前言 https://windsurf.com/ https://windsurf.com/blog/why-we-built-windsurf https://github.com/x1xhlol/system-prompts-and-models-of-ai-tools/tree/main/Windsurf 二、System Prompt 相比于cursor和claude code, windsurf的system prompt非常长&am…...
第三章:Transport Mechanisms
Chapter 3: Transport Mechanisms 🌟 从上一章到本章 在第二章:MCP服务器分类中,我们学会了如何根据需求选择不同类别的服务器(如文件系统、数据库等)。现在想象这样一个场景:你有一个本地文件服务器和一个…...
shell练习题(1)
练习: 1.建立脚本service.sh,当执行的时候要求输入(1、2、3、4、5)时安装对应的httpd、vim、wget、更换aliyum等功能,当输入错误 时会提示你,应该输入正确的值 [rootbogon yy]# cat service.sh #!/bin/bash cat <<-EOF ----------------------…...
【解决】Android Gradle Sync 报错 Could not read workspace metadata
异常信息 Caused by: java.io.UncheckedIOException:Could not read workspace metadata from C:\Users\xxx\.gradle\caches\transforms-4\69955912123c68eecd096b71c66ee211\metadata.bin 异常原因 看字面意思是不能读取metadata文件,原因可能是因为缓存目录异常…...
Python中的 for 与 迭代器
文章目录 一、for 循环的底层机制示例:手动模拟 for 循环 二、可迭代对象 vs 迭代器关键区别: 三、for 循环的典型应用场景1. 遍历序列类型2. 遍历字典3. 结合 range() 生成数字序列4. 遍历文件内容 四、迭代器的自定义实现示例:生成斐波那契…...
上篇:深入剖析 BLE 底层物理层与链路层(约5000字)
引言 在无线通信领域,Bluetooth Low Energy(BLE)以其超低功耗、灵活的连接模式和良好的生态支持,成为 IoT 与可穿戴设备的首选技术。要想在实际项目中优化性能、控制功耗、保证可靠通信,必须对 BLE 协议栈的底层细节有深入了解。本篇将重点围绕物理层(PHY)与链路层(Li…...
ArcGIS Pro跨图层复制粘贴
在map视图中,点击selection中的Select按钮,保持选择状态。 点击需要复制的要素,保持选中状态。右击点击copy,或CtrlC进行复制。 在Clipboard下拉框中点击Paste Special,选择需要粘贴的图层后点击OK。...
今日CSS学习浮动->定位
------------------------------------------------------------------------------------------------------- CSS的浮动 float 属性用于创建浮动框,将其移动到一边,直到左边缘或右边缘触及包含块或另一个浮动框的边缘。 float 属性定义元素在哪个方向浮…...
性行为同意协议系统网站源码
性行为同意协议系统网站源码 一个用于创建、签署和管理性行为同意协议的 Web 应用程序。该应用允许用户在线创建详细的性行为同意协议,并通过数字签名方式进行签署,同时支持导出为 PDF 格式保存。 功能特性 创建自定义性同意协议 多步骤表单引导用户完…...
项目自动化测试
一.设计测试用例(细致全面) 二.先引入所需要的pom.xml依赖 1.selenium依赖 2.webdrivermanager依赖 3.commons-io依赖 编写测试用例–按照页面对用例进行划分,每个页面是Java文件,页面下的所有用例统一管理 三.common包(放入公用包) 类1utils 可以调用driver对象,访问url …...
可变形卷积(可以观察到变形图片的卷积)【DCNv1、DCNv2、DCNv3】
一、DCNv1——可以观察到扭曲的图片 1.传统卷积的问题 在普通的卷积操作中,比如 33 卷积,采样的位置总是固定的:就是中间一个点,四周八个点,整齐地排成一个小网格。 但现实中的图像并不整齐——比如猫的身体弯着、车…...
vue3,element ui框架中为el-table表格实现自动滚动,并实现表头汇总数据
基础用法不太明白的请参考官网文档 ;element ui Plus官网:Table 表格 | Element PlusA Vue 3 based component library for designers and developershttps://element-plus.org/zh-CN/component/table.html 1、添加一个基础表格 <template><e…...
Selenium 怎么加入代理IP,以及怎么检测爬虫运行的时候,是否用了代理IP?
使用selenium爬虫的时候,如果不加入代理IP,很容易会被网站识别,容易封号; 最近去了解了一下买代理ip,但是还是有一些不太懂的东西。 例如有了代理ip以后,怎么用在爬虫上,requests 和selenium的…...
【Python爬虫实战篇】--Selenium爬取Mysteel数据
任务:爬取我的钢铁网的钢材价格指数数据,需要输入时间和钢材类型 网站:钢铁价格指数_今日钢铁价格指数实时行情走势_我的钢铁指数 目录 1.环境搭建 2.打开网站 3.点击右侧按钮展开 4.点击需要的钢材数据 5.点击“按日查询” 6.输入日查…...
LLM学习笔记4——本地部署Docker、vLLM和Qwen2.5-32B-Instruct实现OpenManus的使用
系列文章目录 参考博客 参考博客 参考博客 参考博客 文章目录 系列文章目录前言一、OpenManus介绍二、环境搭建1.DockervLLM2.搭建OpenManus1)安装anaconda虚拟环境2)安装OpenManus3)下载并配置Qwen2.5-32B-Instruct模型4)配置与…...
aarcpy 列表函数的使用(1)
arcpy.ListFeatureClasses() 该函数用于列出指定工作空间中的所有要素类。可以通过通配符和过滤条件进一步筛选结果。 语法: python arcpy.ListFeatureClasses(wild_cardNone, feature_typeNone)• wild_card:用于筛选要素类名称的通配符,…...
maven工程中引入外部jar
1、引入模块下的jar 1.负责打包的模块,pom中加上这个插件,这个可以把外部jar包打入工程中。 <!-- 打包 --> <build><finalName>xxx-send-admin</finalName><resources><resource><directory>${project.base…...
C++智能指针上
一、裸指针 “裸指针”是最基础的,直接存储内存地址的指针类型。特点:①它本身没有自动的内存管理机制:如它不会自动释放内存,也不会检查是否指向有效的内存区域;②直接操作内存地址,不进行任何的边界检查&…...
flutter 中各种日志
日志方法对比 输出方式调试模式控制台输出发布模式控制台输出DevTools Logging 视图print()✅ 显示✅ 显示❌ 不显示debugPrint()✅ 显示✅ 显示❌ 不显示stderr.writeln()✅ 显示✅ 显示✅ 显示dart:developer.log()✅ 显示❌ 不显示✅ 显示 详细说明: print()&a…...
Java面试:从Spring Boot到微服务的全面考核
Java面试:从Spring Boot到微服务的全面考核 场景设定: 在一家互联网大厂的面试室内,严肃的面试官正准备开始对前来面试的赵大宝进行技术考核。赵大宝是一位自称在Java开发方面经验丰富的求职者,不过却是个搞笑的水货程序员。 第…...
安卓adb shell串口基础指令
目录 前言一、列出串口设备节点二、修改串口设备权限三、串口参数配置(stty命令)3.1 基本配置3.2 其他常用参数3.3 查看当前配置 四、数据收发操作4.1 发送数据4.2 接受数据 参考链接: 前言 在 Android 设备上,ADB提供了一系列命令用于与设备…...
大模型技术全景解析:从基础架构到Prompt工程
大模型技术全景解析:从基础架构到Prompt工程 引言 近年来,大型语言模型(LLMs)如GPT、BERT等取得了突破性进展,彻底改变了自然语言处理领域。本文将全面剖析大模型的核心技术要素,包括三要素构成、系统架构、机器学习范式演进、P…...
404页面精选(一)翻滚盒子
内容很详细,直接上代码 效果演示 源码 <!DOCTYPE html> <html><head><meta http-equiv"Content-Type" content"text/html; charsetUTF-8"><title>翻滚盒子</title><style>body {background: #000;h…...
LJF-Framework 第15章 想想搞点啥-若依管理系统兼容一下
LJF-Framework 第15章 想想搞点啥-若依管理系统兼容一下 一、下载后端源码 我们学习一下他的前后端分离的项目吧RuoYi-Vue,我看他有单独的Vue3版本的项目,我们就整这新的吧,向新新势力低头。 1、下载地址 git clone https://gitcode.com/yangzongzhuan/RuoYi-Vue.git2、…...