Automation PyWinAutoGUI测试

Automation PyWinAutoGUI测试,automation,pywinauto,winapp,Automation,Pywinauto,Winapp,在我目前的工作中,我需要为第三方基于Windows的逻辑编程应用程序自动化测试。 1我想启动一个应用程序, 2指定要处理的窗口, 3查找所有控件和属性 4最后从控件获取输出值 有人能帮忙吗?谢谢 这是我的密码: #import the pywinauto.application module from pywinauto.application import Application # create an applicaiton instance and execute the applica

在我目前的工作中,我需要为第三方基于Windows的逻辑编程应用程序自动化测试。 1我想启动一个应用程序, 2指定要处理的窗口, 3查找所有控件和属性 4最后从控件获取输出值 有人能帮忙吗?谢谢

这是我的密码:

#import the pywinauto.application module
from pywinauto.application import Application 
# create an applicaiton instance and execute the application
app = Application(backend="uia").start('calc.exe')  
# creating window specification
dlg_spec = app.window(title='Calculator')
# window lookup to deal with the window/control
dlg_spec.wrapper_object().minimize()
dlg_spec.minimize()
# Printing the control identifiers
app.Properties.print_control_identifiers()

我在第4行得到TimeoutError和ElementNotFoundError,计算器现在有点复杂,耶!。Windows 10 calc.exe实现将创建另一个进程。我可以说得更多:它的UI控件层次结构不适合一个流程的界限,实际上:一个应用程序几乎没有流程。我们计划在启动应用程序时检测新的繁殖过程,但pywinauto中还没有。但更深入地研究.children或.children会跨越过程边界遵循整个层次结构,唯一重要的是:谁是家长

calc.exe的当前示例看起来很像,请参见repo中的最新版本:

from pywinauto import Desktop, Application

app = Application(backend="uia").start('calc.exe')

dlg = Desktop(backend="uia").Calculator # window specification
dlg.type_keys('2*3=')
dlg.print_control_identifiers() # this is also window spec method

dlg.minimize()
# minimized window needs some tricks to find it and restore
Desktop(backend="uia").window(title='Calculator', visible_only=False).restore()

我能用PyWinAuto做这个吗?我试图检索UI控件以查找逻辑操作的输出值?pywinauto功能强大,但请小心使用哪个后端。这在前两章中都有描述。如果您在某个步骤上遇到困难,请提供更多详细信息。这种应用程序,使用的后端,代码样本和输出将是非常有用的。否则就很难理解这个问题。谢谢瓦西里!我已经切换到UIA后端,可以看到所有的控件。现在我有了一个基本问题,因为我正在从头开始学习。如何从逻辑程序中的控制盒中提取输出?这是一种操作,比如对给定输入的加法操作。请帮我解决这个问题!这取决于控件类型。通常方法。窗口文本有帮助。但对于某些控件,它是.get_value,甚至是.legacy_属性。在深入研究该工具之前,我想问一下PyWinAuto和Winium之间的区别。作为初学者,哪一个更适合做这项任务?