Java awt.Robot无法在虚拟机内部工作?

我正在尝试使用java.awt.Robot类在虚拟机内进行测试。 如果我在我的主机上测试它,一切都按预期工作,但是当我在虚拟机中运行相同的程序时,没有任何反应,也没有错误/exception。 我曾尝试在不同的计算机上运行Windows XP或Windows 7的内部虚拟机,但从未运行过。

我在机器上测试的代码非常简单:

try { final Robot robot = new Robot(); robot.mouseMove(500, 500); } catch (AWTException e) { e.printStackTrace(); } 

当我运行它时,程序刚刚结束,鼠标不动。 机器人类是否在虚拟机中不起作用? 如果没有,是否有另一种模拟鼠标移动/点击的方法? 您是否曾尝试在虚拟机中使用此类,如果它有效,您的设置是什么?

IT将无法工作……我们遇到的类似问题……当您在笔记本电脑/台式机上打开虚拟机时,您的测试脚本将会通过。

试试这个……开始测试并关闭VNC / RDC然后再检查你的结果(失败)。

原因是……这个Robot类正在寻找物理键盘,但是当我们在CI上运行测试套件时,我们没有物理键盘…

所以它不会工作。

替代解决方案:使用Selenium方法