有C ++桌面应用程序,我需要测量UI延迟,因为用户说它有时会延迟。我该如何实施呢?尝试在动作后将pywinauto与计时器启动-停止结合使用,但是单击元素的速度非常慢。另一方面,尝试使用SikuliX,它的运行速度更快,但非常脆弱。另一个尝试过的解决方案是uberAgent,但它可以检测所有性能下沉性能,甚至不需要。
答案 0 :(得分:0)
为了加快元素搜索的速度,我建议使用.child_window(title="...", control_type="...")
规范,而不要使用best_match
之类的名称,例如app.Dialog.OKButton
,这通常很慢。通过control_type
进行的初步过滤非常快,因为它甚至不需要跨进程交互,而获取标题/文本至少需要2个跨进程操作:获取长度然后获取文本。因此,预先过滤的元素列表可以大大减少文本检索的次数。
在诸如0.001秒之类的操作之后,pywinauto也几乎没有暂停。在.click_input()
内部。这些暂停可以在pywinauto.timings
模块中清零,但在某些情况下会使自动化变得不稳定。因此,请您自担风险。