Python pywinauto频繁获取超时错误



嗨,我正在使用Python-pywinauto,我正在尝试验证AUT中的UI元素,但在5次执行中,有3次执行失败,说"pywinauto.timings.Timeout错误:超时"它会停止执行,并且在更改代码的不同行中的出现时,它并不总是在同一个位置。

以下是错误日志示例:

Traceback (most recent call last):
dlg_spec.menu_select("Help->About")
File "D:FromSaminaTCX3_POCvenvlibsite-packagespywinautocontrolsuiawrapper.py",
line 723, in menu_select
menu.item_by_path(path, exact).select()
File "D:FromSaminaTCX3_POCvenvlibsite-packagespywinautocontrolsuia_controls.py",
line 1060, in item_by_path
lambda: len(self.top_level_parent().descendants(control_type="Menu")) > 0)
File "D:FromSaminaTCX3_POCvenvlibsite-packagespywinautotimings.py",
line 375, in wait_until
raise err **pywinauto.timings.TimeoutError: timed out

您需要先尝试dlg_spec.wait('ready', timeout=10)(对于速度较慢的应用程序,较大的超时更稳定(,然后您可能需要app.wait_cpu_usage_lower(),它可以处理应用程序端窗口的延迟初始化(窗口可能会出现,但尚未初始化菜单(。

pywinauto.timings.TimeoutError: timed out的修复程序是:

from pywinauto import timings
timings.Timings.slow()

最新更新