为什么Squish不记录鼠标移动事件?
Squish 只在鼠标按钮按下时记录鼠标移动事件——即使启用了 Qt 的鼠标跟踪。这是因为在这种情况下发生的鼠标移动事件可以忽略,因为它们不需要被重放以使小部件正常工作。此外,记录这些事件会产生大量脚本代码,这将影响脚本的阅读和维护。
对于那些极其罕见的情况,必须记录所有鼠标移动事件,因为它们对于小部件的正确工作至关重要,您可以更改 Squish 的行为。例如,假设我们有一个名为 CanvasView
的自定义小部件类型,我们想要记录所有鼠标移动事件。我们可以通过创建并注册一个合适的初始化文件来告诉 Squish 为此类型的小部件打开鼠标跟踪。例如,我们可以创建一个名为 myinit.tcl
的文件,其中包含以下行
setMouseTracking CanvasView true
然后我们可以告诉 Squish 在启动时执行此文件
squishrunner --config addInitScript Qt <absolute_path>/myinit.tcl
之后,在录制测试用例时,即使在没有鼠标按钮按下时,也会记录 CanvasView
小部件的鼠标移动事件。有关信息,请参阅 配置 squishrunner。
版权所有2024 Qt 公司有限公司。本文件中包含的文档贡献均属各自所有者的版权。
在此提供的文档根据 自由软件基金会发布的 GNU 自由文档许可证版本 1.3 的条款许可。
Qt 以及相应标志是芬兰和/或世界其他国家的 Qt 公司的商标。所有其他商标均属于各自所有者的财产。