- 博客(38)
- 收藏
- 关注
原创 接口自动化测试:HttpRunner基础
HttpRunner是一个开源的 API 测试工具,支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议,涵盖接口测试、性能测试、数字体验监测等测试类型。简单易用,功能强大,具有丰富的插件化机制和高度的可扩展能力。
2025-06-09 11:46:21
439
原创 基于Python学习《Head First设计模式》第九章 迭代器和组合模式
"""菜单组件的抽象基类"""raise NotImplementedError("不支持添加操作")raise NotImplementedError("不支持移除操作")raise NotImplementedError("不支持获取子项")passpasspasspasspass"""叶子节点:菜单项"""veg_str = " (素食)" if self.vegetarian else ""print(f"
2025-06-08 15:28:20
363
原创 基于Python学习《Head First设计模式》第八章 模板方法模式
"""咖啡饮料"""print('将水煮沸')print('浸泡或冲泡')print('倒入杯子')print('添加调料')print('浸泡茶叶')print('添加柠檬')print('冲泡咖啡')print('添加奶和糖')(y/n)')print('制作茶...')print('\n制作咖啡...')"""运行结果:制作茶...将水煮沸浸泡茶叶倒入杯子添加柠檬制作咖啡...将水煮沸冲泡咖啡倒入杯子(y/n)y添加奶和糖"""
2025-06-07 18:26:56
463
原创 基于Python学习《Head First设计模式》第七章 适配器和外观模式
对象适配器可以适配一个被适配者类类适配器只能针对特定的被适配者类对象适配器使用组合的方式,可以适配整个Duck类,而类适配器用继承只能支配Duck的具体类,比如绿头鸭类。但子类类添加新的行为时,类适配器更胜一筹。适配器转化修改接口以匹配客户的期望。外观模式简化,提供子系统的一个简化的接口。
2025-06-07 17:13:13
595
原创 基于Python学习《Head First设计模式》第六章 命令模式
设计全貌与书上的代码略有不同,整体结构是一样的。书上是吊扇,我这里是音响。添加撤销操作批量操作使用宏命令命令模式的用途请求队列、日志请求
2025-06-07 14:20:00
596
原创 Mermaid画UML类图
本文介绍了使用Mermaid和PlantUML两种工具绘制类图的方法。Mermaid语法简洁,支持在线编辑,详细说明了类定义、修饰符、可见性符号等基本语法,以及继承、实现、关联等七种类关系的表示方式。文章还展示了注释添加、方向设置等高级用法,并提供了综合示例代码。同时简要对比了PlantUML工具,指出其语法类似但功能更丰富。两种工具都附有官方文档链接,方便读者深入学习类图绘制技巧。
2025-06-05 13:44:50
346
原创 深入理解系统:UML类图
UML要素Python代码表现UML符号说明类(Class)矩形框包含类名、属性和方法抽象类斜体类名包含抽象方法接口只包含抽象方法属性+name: str公有,私有,保护方法类行为定义继承空心三角+实线泛化关系(is-a)实现空心三角+虚线实现接口方法组合实心菱形+实线强拥有关系(同生命周期)聚合空心菱形+实线弱拥有关系(可独立存在)关联实线箭头对象间持久引用关系依赖虚线箭头临时使用关系枚举固定值集合多重继承多个空心三角继承多个父类UML元素UML表示法Python实现。
2025-06-04 14:05:42
1237
原创 基于Python学习《Head First设计模式》第五章 单件模式
创建实例前先判断是否已创建,已有就直接返回,没有才创建优点:简单、线程安全、符合Python风格。缺点:实例在导入时立即创建(非懒加载)。双重检查加锁使用类装饰器使用元类要点总结
2025-06-03 14:10:41
504
原创 基于Python学习《Head First设计模式》第四章 工厂方法+抽象工厂
工厂模式的定义1、简单工厂结构:2、工厂模式结构:优化图解抽象工厂模式定义
2025-06-02 19:10:24
727
原创 基于Python学习《Head First设计模式》第二章 观察者模式
【代码】基于Python学习《Head First设计模式》第二章 观察者模式。
2025-06-01 14:44:13
683
原创 python面向对象设计
概念:隐藏复杂实现,仅暴露必要接口。目的:简化复杂度,强制子类实现特定方法。实现方式:抽象基类 (ABC):使用 abc 模块抽象方法:用 @abstractmethod 装饰器标记。
2025-06-01 11:07:21
178
原创 基于Python学习《Head First设计模式》 第一章 策略模式
实现鸭子的行为鸭子类整合鸭子的行为测试Duck动态设定行为或者换一种方式设置属性,效果一样完整代码总结
2025-05-31 14:45:01
808
原创 pytest 配置
当传递 --strict-markers 命令行标志时,使用 @pytest.mark.name_of_the_mark 装饰器应用的任何未知标记都将触发错误.文件默认使用UTF-8编码,若含非ASCII字符(如中文注释),需确保编辑器保存为UTF-8。使用 pytestconfig 内置 fixture 获取 pytest.ini 中的配置。部分配置项可能仅支持特定pytest版本,需查阅对应版本的文档。命令的位置),确保pytest能自动识别。节的配置是否被正确读取,建议统一使用。
2025-05-13 08:30:09
347
原创 pytest03 上下文管理
类别上下文管理器归属典型场景异常处理pytest 核心验证函数抛出特定异常警告处理pytest 核心检查代码触发警告环境管理pytest 核心临时修改环境变量或模块属性日志控制pytest 核心捕获指定级别的日志信息超时控制timeout()防止代码块执行时间过长异步超时异步代码块的超时管理。
2025-05-13 08:29:39
325
原创 pytest02 装饰器
可以在 测试模块 中的全局级别声明,以将一个或多个 标记 应用于所有测试函数和方法。可以是单个标记或标记列表(按从左到右的顺序应用)。pytest.ini 配置文件中注册当传递 --strict-markers 命令行标志时,使用 @pytest.mark.name_of_the_mark 装饰器应用的任何未知标记都将触发错误.[pytest]markers =slow: 标记为耗时较长的测试ui: 用户界面相关测试smoke: 冒烟测试custom_marker: 其他自定义标记。
2025-05-13 08:29:01
810
原创 pytest01 运行测试
通过实现 pytest_assertrepr_compare 钩子,为失败断言定义您自己的解释。return [f" vals:= {= {= {= {= {= {5. 结果处理与报告统计结果汇总通过、失败、跳过的测试用例数量,识别错误类型(如断言失败、异常、超时等)。生成报告根据命令行参数输出不同格式的报告(如简洁的和F符号,或详细的堆栈跟踪)。缓存状态记录失败的测试用例(可通过--lf仅重新运行上次失败的用例)。退出码(Exit Code)返回0(所有测试通过)或非0。
2025-05-13 08:28:24
945
原创 python中的argparse库
本文介绍了如何使用Python的argparse模块来处理命令行参数。首先,通过导入模块并创建解析器对象,可以添加位置参数和可选参数。位置参数是必须提供的,而可选参数通常以-或--开头,并可以通过dest指定属性名。解析参数后,可以在程序中使用这些参数。文章还提供了一个脚本示例,展示了如何计算整数和,并根据参数输出详细结果或仅输出结果。此外,详细介绍了add_argument()方法的各个参数,如type、default、choices等,并说明了如何设置必须的可选参数、互斥参数组、多值参数等。
2025-05-13 08:17:47
419
原创 Python 4种启动方式
显示当前已安装的Python版本:启动最新版本的Python:指定启动3.7版本的Python:通过执行 venv 指令来创建一个 虚拟环境:(在pycharm的Terminal终端写入,就可以打印项目结构。)1、配置文件中有一个home值,指向运行此命令的Python版本2、其中目录包含Python二进制文件的副本或符号链接( Linux 上为)3、还会创建一个(初始为空的) 子目录(在 Linux 上是 )运行一个名为hello.py的Python脚本:,内容如下:如果脚本文件的第一行
2023-08-14 22:57:07
254
1
原创 高效的稳定性测试工具Fastbot的使用
对比多款测试工具:monkey、Fastbot、AppCrawler、Maxim、Droidbot。相比较来说,Fastbot的执行效率高、操作有效性较高、页面覆盖率较高,符合日常稳定性测试需求。我这边主要使用Fastbot进行随机稳定性测试,所以没有大量编写测试用例,只添加了一份登录用例。3、配置黑白名单,屏蔽某些activity或者只覆盖某些场景。4、屏蔽空间或区域,解决脚本执行期间半路退出运行的问题。2、手动配置activity的执行路径。1、检测到新测试包自动运行。3、手动输入指令运行。
2022-11-16 16:59:36
2582
3
原创 python导出项目依赖包
python导出项目依赖包导出所有项目的依赖包只导出当前项目依赖包导出所有项目的依赖包命令:pip3 freeze > requirements.txt只导出当前项目依赖包1、安装pipreqs:pip install pipreqs2、进入当前项目目录下,导包:pipreqs ./ (导包完成会生成一个requirements.txt文件)如果遇到编码错误UnicodeDecodeError,则将指定编码为utf8:pipreqs ./ --encoding=utf8Traceback
2020-06-22 11:48:35
5990
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人