我正在尝试通过 Eclipse 文本编辑器中的 SWTBot 超链接进行测试。问题是超链接是按需显示的(Eclipse 功能),这意味着 - 仅当鼠标移到它上面+按下键盘键(Ctrl或Alt)时,令牌更改才会显示为超链接。
如何在 SWTBot 中模拟鼠标移动和按键一起按下?
当鼠标移动到链接上时,MouseEvent
会生成 a。一些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
在您的案例中负责消费事件的内容。