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

摆烂又上进 · 2025年11月07日 · 最后由 卡丁车卡丁丁 回复于 2025年11月07日 · 403 次阅读

各位大佬、前辈们好:

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

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

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

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

共收到 8 条回复 时间 点赞

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”,这个看起来只支持微软新的应用商店类的应用?

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