我正在使用squishtest
库来处理我的Python代码中的Qt应用程序,并尝试使用事件处理程序,如下所示:
import squishtest
def handle_mouse_event(event):
print 'Clicked!'
squishtest.startApplication('application')
squishtest.installEventHandler('QMouseEvent', handle_mouse_event)
不幸的是,这不起作用,即在应用程序内部点击元素时没有任何反应,但是如果我在Squish运行时的Squish IDE中运行相当于此代码的情况下它会起作用:
import squish
def handle_mouse_event(event):
print 'Clicked!'
squish.startApplication('application')
squish.installEventHandler('QMouseEvent', handle_mouse_event)
有什么区别以及如何让事件处理程序使用squishtest
?
Python 2.7.14,Squish 6.3.1,Ubuntu 16.04
答案 0 :(得分:0)
(根据原始海报的建议重新作为答案。)
这适用于Linux和Windows上的Squish 6.3.x +,使用Squish包中的Python安装 - 但不可否认的是,我在脚本末尾添加了一个小睡(5)以便有时间来#34鼠标周围"在应用程序的窗口中,即使是基于鼠标移动的事件也会触发事件处理函数的执行。
使用snooze()的另一个副作用是事件循环不断旋转,使用time.sleep()(后面提到之前已经使用过)时就不是这种情况了。
如果它仍然不起作用,我建议联系froglogic Squish的技术支持。