我正在尝试通过Eclipse的文本编辑器中的SWTBot超链接进行测试。问题是超链接是按需显示的(Eclipse功能),意思是 - 只有当鼠标移动到键盘键+键盘键( Ctrl 或 Alt <时,标记更改才会显示为hyperLink)按下了/ kbd>。
如何在SWTBot中模拟鼠标移动并按下按键?
答案 0 :(得分:-1)
当鼠标在链接上移动时,会生成MouseEvent
。一些MouseMotionListener
(或许MouseListener
)会使用此事件,然后会为您显示hiperlink。
您可以模拟此事件:
Component source = null; // TODO set up a valid component
MouseEvent event = new MouseEvent(source, MouseEvent.MOUSE_ENTERED, System.currentTimeMillis(), InputEvent.ALT_DOWN_MASK, source.getX(), source.getY(), 0, false);
MouseMotionListener[] mouseMotionListeners = source.getMouseMotionListeners();
if (mouseMotionListeners!= null && mouseMotionListeners.length > 0) {
MouseMotionListener mouseMotionListener = mouseMotionListeners[0];
mouseMotionListener.mouseMoved(event);
}
构造函数中的InputEvent.ALT_DOWN_MASK
表示按下了Alt。
请注意,您应该定义在您的案例中负责消费事件的Component
。