发现并单击超链接

时间:2013-12-30 14:37:09

标签: java hyperlink swt swtbot

我正在尝试通过Eclipse的文本编辑器中的SWTBot超链接进行测试。问题是超链接是按需显示的(Eclipse功能),意思是 - 只有当鼠标移动到键盘键+键盘键( Ctrl Alt <时,标记更改才会显示为hyperLink)按下了/ kbd>。

如何在SWTBot中模拟鼠标移动并按下按键?

1 个答案:

答案 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

您可以在教程How to Write a Mouse ListenerMouseEvent API

中找到更多信息