问答 PC 端软件 UI 自动化求助

摆烂又上进 · 2025年11月07日 · 最后由 hope1 回复于 2025年11月14日 · 10591 次阅读

各位大佬、前辈们好:

我在尝试为一款 PC 端软件实现 UI 自动化时遇到了一些困难,已经试了几种方法,但都走不通,所以特来向大家请教。
我们公司主要做无线电终端设备,而这个电脑端软件是用来配置终端参数的。由于它属于辅助型工具软件,公司在测试资源上的投入相比核心业务(终端本身)要少一些。我们想实现 UI 自动化主要有两个目的:
这款软件需要频繁读取终端数据、并将配置写入终端,我们希望能做压力测试;还想尝试实现软件词条的翻译校验自动化。

目前我尝试过的方法和遇到的问题如下:

① 按键精灵:上手最容易,但只适用于简单场景。操作步骤一复杂,脚本就容易不稳定,感觉不太灵活。
②Airtest:测试其他软件挺好用,但一连上我们的配置软件就显示黑屏,无法继续。
③ inspect.exe:只能识别到软件最外层的几个元素,深入不了。咨询开发同事后了解到,这个软件在 UI 构建上比较 “简陋”,很多元素没有独立命名,耦合也比较深,所以这条路也走不通。
④Python + 图像识别(基于坐标):用纯 Python 配合 deepseek 尝试实现,但编写和使用都比较吃力,而且通用性差。另外,界面上一些一闪而过的加载提示文字很难捕获到。

想请教各位,针对这类 PC 软件,一般有哪些比较成熟的 UI 自动化测试方案?有没有推荐的开源工具或方法?
我们是一家 to B 的硬件公司,在软件测试方面的经验比较有限,如果上面的描述有不够专业或错误的地方,还请大家多包涵~
非常感谢!

共收到 12 条回复 时间 点赞

QTP 行不行

试试 sikulix?

多年桌面自动化的经验来看。。让开发写接口让你调比较好。图像或者控件都有你说的这些痛点,而且这些痛点基本上市面上有的工具解决不了。
https://github.com/microsoft/UFO 这个框架可以尝试,但。。需要购买 AI 模型的 token,且效果未必有想象的那么好。属于有闲心就玩玩看。
总之桌面 UI 自动化在开发人员不支持的情况下是个投入产出比不高的东西,要么让他们给你可调用的接口,要么让他加上 Automation id 这种唯一定位属性在所需要控件上

inspect.exe 是个过时的工具,试试它的接班人 Accessibility Insights:https://accessibilityinsights.io/downloads/

是不可以考虑用视觉大模型去做,通过 qwen-vl 这种视觉模型去调用 pywinauto 这些框架的能力

对 LDIAN 回复

这玩意太老啦

Airtest 可以用截图工具进行截图,让后 airtest 运行,我在虚拟机上遇到过 airtest 软件获取程序桌面黑屏或者获取不到的情况就用截图工具截图,不知道你是不是也是这样的问题。

对 Zhang Jia 回复

“Accessibility Insights for Windows helps developers find and fix accessibility issues in Windows apps”,这个看起来只支持微软新的应用商店类的应用?

使用上古神器, UFT

uiautomation+pyautogui

不是,它说的 Windows apps 指各种 Windows 应用程序。我用来查看我们古老的 exe 程序元素也可以。

pywinauto / WinAppDriver

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册。