Python 请问一下大家,客户端做 UI 自动化测试有没有好的方案

小小Prcc · July 29, 2020 · Last by DreamToHaHa replied at July 31, 2020 · 1544 hits

我们公司现在产品是基于WPF框架完成的Windows客户端,因为大部分功能都是表单填写,工作重复度很高,我就想用Python来实现UI自动化。
但是用pywinauto打印控件列表一直报“pywinauto.findwindows.ElementNotFoundError”错误,Spy++也只能识别到客户端外层的窗口,识别不到里面的子控件。
用pyautogui又觉得图像识别有准确度问题。
所以想请教大家,有没有什么好的方法识别客户端里的控件来完成自动化,或者是因为自定义控件导致识别不了,有没有更精准的图片识别模块来配合pyautogui进行自动化?
还望各位不吝赐教 谢谢。
pywinauto代码如下:

from pywinauto.application import Application
import win32gui

handle = win32gui.FindWindow(None,'医院感染信息管理系统7.0')

app = Application(backend='uia').connect(handle = handle)

wind = app.window(title_re="医院感染信息管理系统7.0")

wind.print_control_identifiers()
共收到 19 条回复 时间 点赞
YueC 回复

谢谢,我看一下

airtest呢

槽神 回复

请问这个还需要学BASIC语言吗?

AIR神神 回复

我试过的,也是基于图片的,就是担心精确度的问题

appium目前也支持了window、mac os的客户端了,兼容性效果咋样,靠你自己去试了

收藏一下,我们公司主要产品也是Win客户端,有什么好的方案正好学习一下

残枫 回复

我看看,请问是需要配合WinAppDriver吗?

小小Prcc #10 · July 30, 2020 作者
西窗 回复

☕ ☕

WPF的话,你可以试下winium---是的,那个和selenium一个套路的自动化测试服务,配合inspector.exe食用更佳,你可以使用python编写或者java,groovy。

小小Prcc #12 · July 30, 2020 作者
Allen.liu 回复

谢谢,我去试试☕

客户端的话Ranorex有可能是最优解,或者试试uibot这类的东西

UFT或是一个不错的选择。

小小Prcc #15 · July 31, 2020 作者
MarvinWu 回复

谢谢,我看一下哈☕

小小Prcc #16 · July 31, 2020 作者
sky 回复

谢谢 我去了解下☕

建议用Ranorex试试看,自身拥有比较好的控件识别。另外使用C#实现。也比较简单。还可以录制。
不过Ranorex收费,并且遇到问题时,国内很难查到对应解决办法,需要到对应的社区才好。

小小Prcc #18 · July 31, 2020 作者
DreamToHaHa 回复

哦哦 但是只能用C#和.NET吧?有点尴尬

小小Prcc 回复

嗯,传说较早之前的版本是支持python项目。不过也没见过。

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up