【问题标题】:Python pywinauto getting TimeoutError frequentlyPython pywinauto频繁出现TimeoutError
【发布时间】:2021-01-28 13:32:03
【问题描述】:

您好,我正在使用 Python pywinauto,我正在尝试验证 AUT 中的 UI 元素,但在 5 次执行中,有 3 次失败,提示“pywinauto.timings.TimeoutError: timed out”它会停止执行,而不是在一直在同一个地方,它在不同的代码行中改变它的出现。

这是示例错误日志:

Traceback (most recent call last):
 dlg_spec.menu_select("Help->About")
  File "D:\FromSamina\TCX3_POC\venv\lib\site-packages\pywinauto\controls\uiawrapper.py",
  line 723, in menu_select

menu.item_by_path(path, exact).select()
 File "D:\FromSamina\TCX3_POC\venv\lib\site-packages\pywinauto\controls\uia_controls.py",
 line 1060, in item_by_path

lambda: len(self.top_level_parent().descendants(control_type="Menu")) > 0)
 File "D:\FromSamina\TCX3_POC\venv\lib\site-packages\pywinauto\timings.py",
 line 375, in wait_until

raise err **pywinauto.timings.TimeoutError: timed out

【问题讨论】:

    标签: python testing automation ui-automation pywinauto


    【解决方案1】:

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

    【讨论】:

    • 好的,我会检查等待功能,是否可以关闭连接的活动实例?就像我们如何使用 app = Application(backend="uia").connect(path=r'D:\Asem\bin64\AUT.exe') 连接到活动实例这样我想通过代码关闭实例并每当我需要验证 UI 元素时再次连接,例如“Application(backend="uia").disconnectOrClose(path=r'D:\Asem\bin64\AUT.exe')”
    猜你喜欢
    • 2013-02-14
    • 1970-01-01
    • 2019-05-11
    • 1970-01-01
    • 2015-09-30
    • 2014-07-17
    • 2016-09-04
    • 1970-01-01
    • 2022-06-15
    相关资源
    最近更新 更多