新闻详情

新闻详情

首页 / 资讯中心 / 详情

Botty测试与发布实战:pytest自动化测试、smoke_test冒烟验证与build.py一键打包指南

发布时间:2026/9/25 21:02:15来源:尧图网络
Botty测试与发布实战:pytest自动化测试、smoke_test冒烟验证与build.py一键打包指南
Botty测试与发布实战pytest自动化测试、smoke_test冒烟验证与build.py一键打包指南【免费下载链接】bottyD2R Pixel Bot项目地址: https://gitcode.com/gh_mirrors/bo/bottyBotty是一款专为《暗黑破坏神2重制版》(D2R) 打造的 Python 像素机器人Pixel Bot支持自动化刷宝、打Boss、开箱子与宝石转化。本文面向新手完整讲解Botty 测试与发布实战如何用 pytest 跑通test/镜像目录里的自动化测试、smoke_test.py冒烟测试的原理以及build.py一键打包出可分发的main.exe。为什么发布前要先跑测试Botty 的核心依赖图像模板匹配与OCR 识别如识别物品名字、找到城镇传送点任何一次对src/源码的改动都可能悄悄破坏识别逻辑。作者在 development.md 中明确约定所有自动化测试都放在test/文件夹内文件与目录结构刻意模仿src/目录。也就是说src/bn ip/有测试test/nip/就有对应的测试src/transmute/有测试test/transmute/也同步存在。这种镜像目录设计让你一眼就能找到某个模块的测试在哪里。pytest 一键运行测试环境如何自动生效在仓库根目录的 pytest.ini 中测试环境被配置得非常无感[pytest] env PYTHONPATH./src RUN_ENVtest python_paths ./src这带来三个好处无需手动配路径src/自动加入PYTHONPATH测试里可以直接import bot、import template_finder模拟真实屏幕像 test/mocks/screen_mock.py 这样的ScreenMock类会用本地截图代替grab()截屏让机器人在没有游戏的情况下也能被测试测试资源自动下载部分测试导入 test/utils/download_test_assets.py 会自动拉取test/assets/下的样本图无需手动准备。常用测试命令速查命令作用pytest -s -v运行全部测试-s显示 stdout-v输出更详细pytest test/smoke_test.py只运行冒烟测试pytest test/nip/test_transpile.py只跑 BNIP 物品词法转译测试python src/pickit.py部分模块可单独执行做手动测试见 development.md测试都覆盖了哪些核心能力模板匹配test/template_finder_test.py 验证search、best_match、search_all三种匹配模式能否在截图里准确定位空储物格、交叉/斜线等模板BNIP 拾取逻辑test/nip/ 目录下的test_transpile.py、test_get_ground_loot.py等用例用 ExpressionTest 数据类批量校验物品表达式 → 拾取/保留决策是否正确转化与库存test/transmute/ 覆盖宝石挑选与背包整理逻辑目标检测test/target_detect_test.py 验证怪物/BOSS 的瞄准点计算。smoke_test.py最省心的启动级冒烟测试打开 test/smoke_test.py你会发现整个冒烟测试只有寥寥几行screen ScreenMock(test/assets/hero_select.png) game_stats GameStats() bot Bot(game_stats)它的目标很简单导入 Bot 并创建实例确保没有出现缩进错误、缺失依赖等重大问题。配合Logger.init()初始化日志一次通过的冒烟测试就能保证所有import链路完整bot、game_stats、template_finder均可正常加载核心类可以正常实例化状态机初始化不抛异常。这是每次提交前成本最低的体检推荐养成pytest test/smoke_test.py的习惯。build.py 一键打包从源码到 main.exeBotty 使用PyInstaller将 Python 源码打包为单文件exe。根目录的 build.py 把整个流程封装成一条命令配合 environment.yml 中声明好的 conda 环境Python 3.10、opencv、tesseract 等依赖即可使用。发布新版本的完整步骤# 用 x.x.x 指定版本号创建 new-release 分支、更新 src/version.py、打包、提交 python build.py x.x.xbuild.py 内部依次完成了这些脏活版本管理读取并改写 src/version.py自动git checkout -b new-release-vx.x.x创建发布分支清理删除旧的build/、*.spec与botty_vx.x.x输出目录保证产物干净编译对src/main.py与src/shopper.py分别执行pyinstaller --onefile打包资源整理把 config/ 下的game.ini、params.ini、shop.ini、default.bnip和整个 assets/ 模板目录复制到发布文件夹并生成空模板custom.ini提交自动git add .并打上 Bump version to vx.x.x 的提交信息。实用参数一览参数说明-v / --version 0.4.2指定新版本号自动建分支并更新版本号-c / --conda_path指定本地 miniconda 路径默认C:\Users\用户名\miniconda3-r / --random_name给main.exe生成一个 6~14 位的随机文件名-k / --use_key使用 Fernet 加密密钥进行构建Windows 用户还可以双击 run.bat 进入菜单式操作选项3 - Compile即等价于执行python ./build.py选项4 - Run则是直接conda activate botty python src/main.py从源码运行。打包完成后的验证小技巧发布包不只是能跑还要确认图形配置正确。Botty 内置Graphic Debugger 模式启动后按F10打开调试窗口进图后能看到模板匹配画出的蓝色圆圈与置信度分数地上丢物品时匹配项会显示红色圆圈分数应稳定高于 0.9。最后查更新日志用作者推荐的命令即可git log PREVIOUS_TAG..HEAD --oneline --decorate总结改完代码→ 先跑pytest test/smoke_test.py冒烟再pytest -s -v全量回归新增功能→ 按test/镜像src/的目录约定补上对应测试准备发布→ 一条python build.py x.x.x完成版本分支、打包、资源整理与提交发布验证→ 用 F10 图形调试器确认模板识别分数再更新 changelog。掌握这套pytest 测试 smoke_test 冒烟 build.py 一键打包的流程你就能像维护者一样自信地构建和发布 Botty 了。【免费下载链接】bottyD2R Pixel Bot项目地址: https://gitcode.com/gh_mirrors/bo/botty创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

显卡 显存 硬盘 内存 算力 CPU GPU名词区分 2026/9/25 21:44:10

显卡 显存 硬盘 内存 算力 CPU GPU名词区分

数据流向:硬盘>-内存>-显存一、核心名词定义 相互关系(面向模型训练 / 本地部署)先一句话总览:CPU:通用计算总管(适用于复杂的逻辑运算);GPU:并行计算加速器&…

阅读更多 →
23 种设计模式的通俗解释,虽然有点污 2026/9/25 21:43:37

23 种设计模式的通俗解释,虽然有点污

一、写在前面:设计模式到底在解决什么很多初学者第一次听说“设计模式”时,脑子里冒出的画面是厚厚的《GoF 设计模式》原书、满纸的 UML 类图和永远记不住的名字。但说实话,设计模式并不是什么高深莫测的咒语,它更像是程序员在长期…

阅读更多 →
GUI-Owl-1.5实测:多模态GUI智能体如何突破自动化脚本脆弱性 2026/9/25 21:43:37

GUI-Owl-1.5实测:多模态GUI智能体如何突破自动化脚本脆弱性

用了两周把 GUI-Owl-1.5 拉下来跑通,又把几个真实项目里的任务喂进去试了一遍,有些话想写出来。做 GUI 自动化这行当久了,最大的感受就是:脚本不脆弱才叫新闻。换台显示器分辨率,坐标全偏;UI 改个版式&…

阅读更多 →
Agent开发:观察与伴随型 Agent 的架构设计:剖析无限自旋死循环与宿主驱动契约陷阱 2026/9/25 21:43:36

Agent开发:观察与伴随型 Agent 的架构设计:剖析无限自旋死循环与宿主驱动契约陷阱

摘要:在多智能体系统(Multi-Agent Systems)中,伴随型 Agent(如记账员、备忘记录者、审计员等)被广泛用于旁路监听并整理长程记忆。然而,若对其与运行宿主(Host)之间的底层…

阅读更多 →
无人机分割数据集 | 反无人机 无人机分割 语义分割 小目标检测 Accurate Drone 目标检测 YOLO格式无人机目标的高精度像素级语义分割9115期 2026/9/25 21:43:29

无人机分割数据集 | 反无人机 无人机分割 语义分割 小目标检测 Accurate Drone 目标检测 YOLO格式无人机目标的高精度像素级语义分割9115期

小目标无人机分割数据集 | 反无人机 无人机分割 语义分割 小目标检测 Accurate Drone 目标检测 YOLO格式无人机目标的高精度像素级语义分割9115期 数据集概述 本数据集专注于无人机目标的高精度像素级语义分割,服务于无人机检测、低空安防及空中目标监测。数据应用…

阅读更多 →
DeskcommCRM实战:从客户管理到销售闭环的系统落地全解析 2026/9/25 21:43:09

DeskcommCRM实战:从客户管理到销售闭环的系统落地全解析

说实话,做了这么多年企业软件实施,我见过太多CRM项目死在同一个地方:系统上线了,销售不用,客服不用,最后变成一个纯给管理层汇报用的“数据花瓶”。原因也简单,多数CRM的设计逻辑是“让管理层看…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉