尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

Pywinauto Recorder 快速上手:录制 Windows 界面操作,生成可复用的 Python 自动化脚本

Pywinauto Recorder 快速上手:录制 Windows 界面操作,生成可复用的 Python 自动化脚本 Pywinauto Recorder 快速上手录制 Windows 界面操作生成可复用的 Python 自动化脚本【免费下载链接】pywinauto_recorderA record-replay tool to automate GUI via pywinauto项目地址: https://gitcode.com/gh_mirrors/py/pywinauto_recorderPywinauto Recorder 是一款 Windows 界面自动化录制工具你在界面上正常点击、输入它把这套操作转成一段可回放、可维护的 Python 脚本。适合刚接触 UI 自动化的新手也适合需要快速产出 GUI 测试脚本的工程师。它帮你省掉哪些事如果你写过 Windows GUI 自动化脚本多半踩过这几个坑手动拼控件路径找窗口、找按钮、定位文本框每一步都要写查找代码脚本还没测就先写了一半。硬编码坐标靠鼠标点 (320, 560)这种方式的脚本换个分辨率或窗口位置就废了。界面一改全失效应用升级后控件名称或层级变化之前写死的逻辑批量报错。Pywinauto Recorder 的思路是先录后改你按正常习惯操作一遍目标程序工具基于 Windows 无障碍Accessibility技术记录的是控件本身窗口标题、控件类名、文本等而不是屏幕像素坐标。生成的脚本在多数情况下可以跨分辨率运行界面小改动时也更易定位和修补。适合谁不适合谁比较适合做 Windows 桌面应用功能测试、回归测试的工程师需要把重复性桌面操作批量录入、流程走查脚本化的运维或业务人员想理解 UI 自动化原理、从录制结果入手学习 Pywinauto 的新手。它通过无障碍技术支持 MFC、VB6、VCL、WinForms、WPF、Store 应用、Qt 以及桌面浏览器窗口等常见 GUI 形态。不太适合非 Windows 环境。整个工具依赖 Win32 API只能在 Windows 上运行目标是纯 Web 页面或移动端应用应选 Playwright、Appium 这类对应工具深度自绘界面如游戏引擎渲染、大量自定义绘制区域无障碍信息有限时录制效果会打折扣。最小上手路径整个流程只需要四步装、启、录、取。第 1 步安装。在 Windows 上确认已安装 Python 3.8 或更高版本然后执行pip install pywinauto-recorder如果偏好从源码运行也可以先克隆仓库再启动git clone https://gitcode.com/gh_mirrors/py/pywinauto_recorder cd pywinauto_recorder python pywinauto_recorder.py第 2 步启动。安装方式可直接运行pywinauto-recorder命令。启动后会短暂显示欢迎页工具本体以系统托盘图标形式驻留所有操作都靠快捷键或托盘菜单触发。第 3 步录制。记住这几个快捷键快捷键作用CTRLALTR开始 / 结束录制CTRLSHIFTF把生成的 Python 代码复制到剪贴板CTRLALTS开关 Smart 模式智能合并操作CTRLSHIFTD显示 / 隐藏鼠标悬停处的元素信息开始录制后正常操作目标程序即可。屏幕上的鼠标移动、点击、菜单选择、键盘输入都会被捕获。结束后再按一次CTRLALTR停止。第 4 步取脚本。按CTRLSHIFTF录制结果就以 Python 代码形式躺在剪贴板里直接粘贴使用。录制过程中生成的脚本文件会保存到你用户主目录下的Pywinauto recorder文件夹托盘菜单里的 Open output folder 可以直接打开。如何把录制结果变成可用脚本粘贴出来的代码是标准 Python每个操作调用都返回 Pywinauto 的控件包装对象因此可以顺手补上断言和额外操作塞进现有的测试体系里。一个最小可运行的 pytest 用例大概长这样具体控件路径以你实际录制结果为准from pywinauto_recorder.player import UIPath, click, send_keys def test_notepad_input(): with UIPath(Untitled - Notepad||Window): edit click(Text editor||Document) send_keys(Hello Pywinauto{ENTER}) assert Hello in edit.window_text()之后用pytest tests_xxx.py正常跑即可。除 pytest / unittest 外录制结果也有三种回放方式把生成的.py文件直接拖到pywinauto_recorder.exe上用托盘菜单里的 Replay clipboard 回放剪贴板中的代码命令行执行python 你的脚本.py。使用建议与常见坑 ⚠️操作保持连贯录制时长直接决定脚本回放时长。思考、停顿、来回切换窗口都会原样进入脚本尽量一气呵成地走完整条流程再停。减少不必要的等待确有必要时比如菜单展开动画、慢速页面加载在脚本里显式补time.sleep或用 Pywinauto 的等待方法比录制时手等更可控。笔记本记得插电源程序启动时会检测供电状态电池供电会明显拖慢录制这是真实存在过的性能坑。菜单操作建议开启处理模式托盘菜单的 Process events 中勾选menu_click后多级菜单点击会被合并成一次menu_click(文件-打开)调用脚本更短也更稳。想跨分辨率复跑可在托盘里开启相对坐标模式回放时按窗口比例换算位置适合窗口布局不固定或需要换机器执行的情况。用 Pywinauto 方法增强稳定性录制给的是骨架exists()、带 timeout 的查找、set_text替代逐字键入等都可以在粘贴后按场景替换这正是生成代码返回 Pywinauto 包装对象的设计用意。生态与边界Pywinauto Recorder 是 Pywinauto 生态里的录制端Pywinauto 负责底层——通过 MSAA、UIAutomation、Win32 等无障碍接口与各类 Windows 桌面控件对话Recorder 负责把人工操作翻译成 Pywinauto 调用。生成的脚本只依赖 Pywinauto 本体不绑定录制工具这意味着脚本可以放进 CI/CD 流水线在 Windows 测试节点上由 pytest / unittest 驱动执行适合作为回归测试的种子先录一版基线流程再逐步补充断言把一次性演示脚本升级成长期维护的测试资产。边界也要清楚回放时目标应用需要处于可启动或可连接状态界面发生大改后控件路径仍要更新它解决的是桌面 GUI 的录制与脚本化不是跨平台方案。从录制到回放整条链路只用了一对快捷键和一个剪贴板。建议你现在就挑一个最熟悉的桌面程序计算器、记事本都行按CTRLALTR录一条三步操作流程把生成的代码粘进一个 pytest 文件里跑通——这就是它全部的上手成本。【免费下载链接】pywinauto_recorderA record-replay tool to automate GUI via pywinauto项目地址: https://gitcode.com/gh_mirrors/py/pywinauto_recorder创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表