在 squishtest 中使用 Qt 事件处理器
Using Qt Event Handlers in squishtest
我正在使用 squishtest
库从我的 Python 代码中操作 Qt 应用程序,并尝试按如下方式使用事件处理程序:
import squishtest
def handle_mouse_event(event):
print 'Clicked!'
squishtest.startApplication('application')
squishtest.installEventHandler('QMouseEvent', handle_mouse_event)
不幸的是,这不起作用,即点击应用程序内的元素时没有任何反应,但是如果我 运行 等价于 Squish IDE 中的这段代码,它就可以工作 [=26] =]时间:
import squish
def handle_mouse_event(event):
print 'Clicked!'
squish.startApplication('application')
squish.installEventHandler('QMouseEvent', handle_mouse_event)
有什么区别以及如何让事件处理程序与 squishtest
一起工作?
Python 2.7.14,挤压 6.3.1,Ubuntu16.04
(根据原帖者的建议重新发布答案。)
这对我适用于 Linux 和 Windows 与 Squish 6.3.x+,使用 Squish 包中的 Python 安装 - 但不可否认我已经添加脚本末尾的 snooze(5) 有一些时间 "mouse around" 超过应用程序的 window,然后即使基于鼠标移动的事件也会触发事件处理函数的执行。
使用 snooze() 的另一个副作用是事件循环不断旋转,而使用 time.sleep()(您稍后提到之前使用过)时情况并非如此。
如果还是不行我建议联系froglogic Squish的技术支持。
我正在使用 squishtest
库从我的 Python 代码中操作 Qt 应用程序,并尝试按如下方式使用事件处理程序:
import squishtest
def handle_mouse_event(event):
print 'Clicked!'
squishtest.startApplication('application')
squishtest.installEventHandler('QMouseEvent', handle_mouse_event)
不幸的是,这不起作用,即点击应用程序内的元素时没有任何反应,但是如果我 运行 等价于 Squish IDE 中的这段代码,它就可以工作 [=26] =]时间:
import squish
def handle_mouse_event(event):
print 'Clicked!'
squish.startApplication('application')
squish.installEventHandler('QMouseEvent', handle_mouse_event)
有什么区别以及如何让事件处理程序与 squishtest
一起工作?
Python 2.7.14,挤压 6.3.1,Ubuntu16.04
(根据原帖者的建议重新发布答案。)
这对我适用于 Linux 和 Windows 与 Squish 6.3.x+,使用 Squish 包中的 Python 安装 - 但不可否认我已经添加脚本末尾的 snooze(5) 有一些时间 "mouse around" 超过应用程序的 window,然后即使基于鼠标移动的事件也会触发事件处理函数的执行。
使用 snooze() 的另一个副作用是事件循环不断旋转,而使用 time.sleep()(您稍后提到之前使用过)时情况并非如此。
如果还是不行我建议联系froglogic Squish的技术支持。