自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(200)
  • 收藏
  • 关注

原创 Pytest项目_day20(log日志)

本文介绍了Python中日志记录(logging)模块的使用方法,重点演示了如何创建日志类并应用到测试场景中。首先说明了日志的四个等级(DEBUG/INFO/WARNING/ERROR),然后给出了一个完整的日志工具类实现,包含时间戳、文件名、行号和日志级别的格式化输出。接着展示了如何在测试用例中集成日志记录,最后通过RestClient类实现了对HTTP请求(GET/POST/PUT/DELETE)的日志记录优化,包括请求URL、方法、参数等关键信息的记录。文章还介绍了使用pytest的fixture功能

2025-08-20 15:56:26 353

原创 Pytest项目_day19(测试用例代码分层、**keywargs、类)

本文展示了一个手机归属地查询API的代码分层架构。测试层调用mobile_query方法,通过api层转发到api_util层,最终由rest_client发起GET请求。代码结构清晰,各层职责明确:测试层负责断言验证,api层处理响应转换,api_util层构建请求参数,rest_client层执行实际HTTP请求。这种分层设计提高了代码的可维护性和可测试性。

2025-08-18 22:03:59 244

原创 Pytest项目_day18(读取ini文件)

本文介绍了如何使用Python的configparser模块读取ini配置文件。ini文件格式以[]标记key,另起一行写value,支持字典嵌套且无需引号。示例代码展示了read_ini()方法的实现,通过os模块获取文件路径,使用configparser读取并返回配置内容。该方法可直接在测试用例中调用,方便管理测试环境配置。文中还提供了ini文件样例和read_ini()方法的完整实现代码,帮助开发者快速掌握配置文件的读取操作。

2025-08-18 20:51:29 400

原创 Pytest项目_day17(随机测试数据)

本文介绍了使用Python Faker库实现YAML测试数据随机生成的方法。通过定义YAML模板,使用${}标记需要随机生成的部分(如姓名、年龄),并利用eval()动态执行随机函数。文章详细说明了如何解析YAML文件、匹配变量标记、处理不同类型数据,并展示了如何将固定前缀与随机值拼接。该方法实现了测试数据的自动化生成,避免了手动设置的繁琐。代码示例演示了姓名、年龄等字段的随机生成过程,以及如何处理包含固定前缀的复合字段。

2025-08-15 17:13:01 508

原创 Pytest项目_day16(yaml和parametrize结合)

本文介绍了三种查询手机号归属地的测试数据传递方法。方法一使用YAML文件和双层列表结构传递多参数,但不够直观;方法二直接使用列表传递数据,更加清晰;方法三针对单条数据,可直接传入字典或调用方法获取YAML数据。三种方式分别适用于不同场景,提供了从复杂到简单的参数化测试解决方案。

2025-08-15 15:31:08 301

原创 Pytest项目_day15(yaml)

YAML是一种通用的数据序列化格式,具有高可读性,适合配置文件和数据结构存储。它支持三种数据结构:键值对(对象)、数组和基本数据类型。YAML字典的写法要求外层键顶格,内层键缩进两格;数组元素前需加短横线"-"并缩进。元素可以是字典或数组,通过换行和短横线分隔。YAML提供了灵活的语法,字典可以使用花括号{}显式声明(需加逗号),也可以省略。相比JSON和INI,YAML在配置文件中更具优势,解析成本低且功能更强大。

2025-08-13 17:52:54 353

原创 Pytest项目_day14(参数化、数据驱动)

参数化测试是pytest框架中的重要功能,通过@pytest.mark.parametrize装饰器实现。它支持单参数单次循环、单参数多次循环和多参数多次循环三种模式。单参数时,参数值列表中的每个元素会被依次赋给测试函数;多参数时,需要将参数名和对应的参数值列表(可迭代对象)传入装饰器。该功能可有效减少重复代码,提高测试用例的复用性和可维护性,适用于需要测试多种输入组合的场景。

2025-08-13 16:31:00 262

原创 Pytest项目_day13(usefixture方法、params、ids)

摘要:mark.usefixtures提供了一种更直接的调用fixture的方式,相比参数传入更简洁。需要注意多个usefixtures装饰器同时使用时,测试用例会优先执行最靠近它的fixture,顺序由近及远。这种特性在需要控制fixture执行顺序时很有用。

2025-08-12 22:56:32 241

原创 Pytest项目_day12(yield、fixture的优先顺序)

摘要:本文介绍了pytest中yield关键字在fixture中的两种用途:一是作为后置操作,其执行时机取决于scope设置(如function作用域下会在方法结束时执行);二是可以像return一样返回数据,但会继续执行yield后的代码。同时说明了fixture的执行优先级规则(session>module>class>function),并指出pytest会自动按此顺序执行fixture,不受调用顺序影响。文章通过多张代码截图展示了相关用法示例。(149字)

2025-08-11 23:01:03 309

原创 Pytest项目_day11(fixture、conftest)

摘要 Fixture是Pytest中用于测试前后处理的灵活机制,比setup/teardown更强大。它支持四种作用范围:function(默认)、class、module和session。function范围每个测试方法调用一次;class范围每个类调用一次;module范围整个文件调用一次;session范围一次测试会话只调用一次。通过@fixture注解和scope参数设置范围,可用autouse=True自动应用或通过参数显式调用。conftest.py可实现跨文件共享fixture。不同范围的fi

2025-08-11 21:36:25 733

原创 Pytest项目_day10(接口的参数传递)

摘要:本文介绍了在测试用例间共享数据的两种方法。方法一是通过函数返回值,在被调用的测试用例中使用return返回数据,其他用例直接调用该方法获取数据。方法二推荐使用类变量(类名.变量)存储数据,确保所有用例访问同一变量。注意避免使用实例变量(self.变量),因为Pytest会为每个用例创建不同实例,导致数据无法共享。两种方式都能有效解决测试用例间的参数传递问题。(149字)

2025-08-08 23:44:05 288

原创 Pytest项目_day09(skip、skipif跳过)

pytest框架提供了@pytest.mark.skip和@pytest.mark.skipif装饰器来跳过测试用例。前者无条件跳过标记的测试,后者则根据布尔条件判断是否跳过。使用时需要注意skipif的条件表达式需用引号包裹。这些功能可用于临时禁用某些测试或条件性跳过不适用环境的测试案例。

2025-08-08 22:51:54 293

原创 Pytest项目_day08(setup、teardown前置后置操作)

这篇技术文章介绍了Python测试框架中的setup和teardown方法,以及它们的四种级别作用域:模块级、函数级、类级和方法级。setup方法用于测试前的准备工作,teardown用于测试后的清理工作,每种级别都有对应的执行时机和应用场景。文章还提供了一个快捷运行测试的方法,建议在测试文件中定义main函数,这样可以直接运行整个测试文件。这些方法是编写自动化测试时进行环境初始化和清理的重要工具。

2025-08-08 22:29:57 242

原创 Pytest项目_day07(pytest)

Pytest要求测试文件和测试方法都以test_开头才会被识别为测试用例。使用assert语句进行预期值与实际值的比较。运行测试时需在命令行输入pytest <文件名>,执行结果会显示通过(.)、失败(F)或错误(E)状态,100%表示所有测试方法执行完成。未按命名规范的测试方法将不会被执行。

2025-08-07 21:02:13 813

原创 Pytest项目_day06(requests中Session的用法)

本文介绍了会话保持的两种机制:Session和Cookies。Session存储在服务端,而Cookies保存在客户端。Cookies具有有效期限制,过期后将失效。前端请求时会自动携带Cookies中的token和value值,若验证失败或过期,服务端会触发登出操作并清空客户端Cookies。这两种机制共同作用,实现了用户登录状态的维护。

2025-08-06 22:53:36 705

原创 Pytest项目_day05(requests加入headers)

本文介绍了headers在HTTP请求中的重要性。文章指出,将固定参数如cookies、user-agent等放在headers中能避免URL臃肿。并以豆瓣网站为例,说明不加headers会导致418反爬错误,而添加user-agent和referer等headers参数后即可正常访问。这体现了headers在绕过反爬机制中的关键作用。

2025-08-06 22:20:17 622

原创 Pytest项目_day04(Python做接口请求)

Python的requests包是一个强大的HTTP请求库,支持HTTP/HTTPS协议,可用于接口测试。它提供了简洁的API,通过r.json()获取JSON响应,r.status_code查看状态码,r.text获取响应文本内容。这些方法使接口测试和数据处理变得简单高效。

2025-08-06 20:39:54 361

原创 Pytest项目_day03(Postman使用)

【代码】Pytest项目_day03(Postman使用)

2025-06-26 23:30:35 208

原创 Pytest项目_day02(接口测试)

接口测试是测试系统组件间接口的一种测试,测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。换一种话说,接口测试就是测试这个接口的功能。

2025-05-13 23:45:59 243

原创 Pytest项目_day01(HTTP)

Pytest项目_day01

2025-03-18 23:26:01 364

原创 场景文本检测&识别学习 day10(MMdetection)

配置文件(config)由于在大型项目中,一种模型需要分:tiny、small、big等很多种,而它们的区别主要在网络结构,数据的加载,训练策略等,且差别很多都很小,所以如果每个模型都手动从头写一份,很麻烦,为了方便,现在都是直接采用配置文件的形式来定义如yaml文件、py文件等MMdetection的配置文件构成在MMdection的配置文件中,我们根据字段来定义模型训练的各部分配置文件的运作方式使用MMdection来训练自己的检测模型coco数据集的组织形式coc

2024-05-28 22:50:22 644

原创 SQL注入测试

SQL注入的原理类似于XSS:攻击者往Web页面里插入恶意Script代码常见的SQL注入过程:SQL注入分类:mysql的注释符注释符后、或中间的代码都不看mysql常用函数常见逻辑函数mysql的增删改查语句联合查询

2024-05-17 23:12:35 336

原创 场景文本检测&识别学习 day09(SSM、S4、Mamba、S6)

ΔΔ。

2024-05-14 15:35:37 2022

原创 场景文本检测&识别学习 day09(Swin Transformer论文精读)

Wq​Wk​Wv​ON2⋅d)O((4N2⋅dO16N2⋅d)OM2⋅N⋅d)OM2⋅4N⋅d。

2024-05-06 16:41:51 1274 1

原创 场景文本检测&识别学习 day08(无监督的Loss Function、代理任务、特征金字塔)

无监督的Loss Function(无监督的目标函数)根据有无标签,可以将模型的学习方法分为:无监督、有监督两种。而自监督是无监督的一种无监督的目标函数可以分为以下几种:生成式网络的做法,衡量模型的输出和固定的目标之间的差距,主要考虑输入数据是怎么分布的,即 “给定Y,如何生成X”。如auto-encoder:输入一张干扰过的图,通过编码器-解码器,然后得出一张还原后的图,通过对比原图和生成的还原后的图之间的差异判别式网络的做法,衡量模型的输出和固定的目标之间的差异,主要考虑输入和输出的映射关系

2024-05-03 21:59:56 657

原创 场景文本检测&识别学习 day06(Vi-Transformer论文精读、MAE论文阅读)

16,那么线性层就会投影到长为256的一个维度,之后把它reshape到16。16个块,来解决输入序列太长的问题,如果输入图片的尺寸为224。14(224/16 = 14),那么输入序列长度就变为14。225的输入序列就变为了2。

2024-04-29 14:53:35 1012 1

原创 场景文本检测&识别学习 day07(BERT论文精读)

BERT在CV领域,可以通过训练一个大的CNN模型作为预训练模型,来帮助其他任务提高各自模型的性能,但是在NLP领域,没有这样的模型,而BERT的提出,解决了这个问题BERT和GPT、ELMO的区别:BERT是用来预训练深双向的表示,并且使用没有标号的数据,同时上下文信息是左右都可以用来推测,训练好的BERT只需要增加一个输出层就可以在很多NLP的任务上得到不错的结果,同时不需要对模型进行很多针对下游任务的改动GPT使用了新架构Transformer,但是只能从单向(左侧)的上下文信息来推测,E

2024-04-26 16:41:44 689

原创 场景文本检测&识别学习 day05(Transformer论文精读)

ht​ht​ht−1​ht−1​ht​ht​ht−1​ht​。

2024-04-19 22:52:07 1127 2

原创 【2024】深度学习配置环境常见报错,持续更新中....

【代码】【2024】深度学习配置环境常见报错,持续更新中....

2024-04-17 15:43:39 558 1

原创 场景文本检测&识别学习 day04(目标检测的基础概念)

经典的目标检测方法one-stage 单阶段法:YOLO系列one-stage方法:仅使用一个CNN,直接在特征图上预测每个物体的类别和边界框输入图像之后,使用CNN网络提取特征图,不加入任何补充(锚点、锚框),直接输出预测框左上右下角的坐标以及物体的类别即该CNN网络在单次前向传播中,不仅提取特征,还要预测每个物体的类别和边界框优点:速度非常快,适合做实时检测任务缺点:效果通常不会太好two-stage 两阶段:Faster-RCNN 、 Mask-RCNN系列two-stage

2024-04-12 21:40:48 871 2

原创 场景文本检测&识别学习 day03 (CUDA Error解决、输入尺寸控制、Resume)

【代码】场景文本检测&识别学习 day03 (Error解决)

2024-04-12 14:05:24 666

原创 在线视频下载工具lux(原annie)安装及使用教程

安装教程下载ffmpeg,参考这篇文章:Python——Windows下载ffmpeg使用教程参考文献Python——Windows下载ffmpeg视频下载神器Lux【使用教程】

2024-04-10 16:16:42 3934

原创 Python学习 问题 day02(列表推导式、生成器推导式)

使用惰性求值的目的是要最小化计算机要做的工作。eg:生成器推导式是继列表推导式后的Python推导式,比列表推导式速度快,占内存少。:不管用什么方法访问元素,当所有元素访问结束后,立马清空生成器对象。如果需要重新访问其中的元素,必须重新创建该生成器对象。:惰性求值(Lazy Evaluation),又译为惰性计算、懒惰求值,也称为传需求调用(call-by-need)。

2024-04-09 18:07:44 863

原创 场景文本检测&识别学习 day02(AlexNet论文阅读、ResNet论文精读)

AlexNet论文精读感想在介绍部分,我们不能只介绍自己使用的方法,这很窄,比如我想用DETR,那我就不能只介绍DETR,我可以介绍一下传统的OCR,比如CNN,YOLO等

2024-04-08 22:00:44 319

原创 场景文本检测&识别学习 day01(传统OCR的流程、常见的损失函数)

传统OCR的流程传统OCR:传统光学字符识别常见的的模型主要包括以下几个步骤来识别文本预处理:预处理是指对输入的图像进行处理,以提高文字识别的准确率。这可能包括调整图像大小、转换为灰度图像、二值化(将图像转换为黑白两色)、去噪声、校正图像中的倾斜等步骤。目的是减少图像中的干扰信息,并突出文字部分。文本检测:文本检测的目的是在图像中定位文本的位置。这一步骤要解决的主要问题是识别图像中哪些区域包含文字。使用的模型通常是基于深度学习的,例如卷积神经网络(CNN)。这些模型可以学习文本的形状、大小和布局

2024-04-06 13:53:29 926

原创 使用简单MLP实现0-9数字识别,数据集为MNIST

需求:基于pytorch实现简单MLP,完成数字识别,采用MNIST手写数字作为数据集,MNIST:有6万张训练图片,1万张测试图片训练结束后,随机取3张测试图片,展示模型的预测结果和真实图片模型结构:一层线性层作为输入层,转换输入中间三层线性层一层softmax作为输出层,输出结果概率。

2024-04-05 19:46:01 1116

原创 Transformer的代码实现 day04(FFN)

【代码】Transformer的代码实现 day04(FFN)

2024-04-03 14:32:31 743

原创 Transformer的代码实现 day03(Positional Encoding)

【代码】Transformer的代码实现 day03(Positional Encoding)

2024-04-02 23:07:27 582

原创 Transformer的代码实现 day02(Multi-Head Self-Attention)

【代码】Transformer的代码实现 day02(Multi-Head Self-Attention)

2024-04-02 16:51:21 631

原创 Transformer的代码实现 day01(残差和layer_norm标准化)

【代码】Transformer的代码实现 day01(残差和layer_norm标准化)

2024-04-01 23:11:28 667

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除