我试图使用java.awt.Robot类在虚拟机内进行测试。如果我在我的主机上测试它,一切都按预期工作,但是当我在虚拟机中运行相同的程序时,没有任何反应,也没有错误/异常。我尝试在不同的计算机上运行Windows XP或Windows 7的内部虚拟机,但从未运行过。
我在机器上测试的代码非常简单:
try
{
final Robot robot = new Robot();
robot.mouseMove(500, 500);
}
catch (AWTException e)
{
e.printStackTrace();
}
当我运行它时,程序刚刚结束,鼠标不动。机器人类是否在虚拟机中不起作用?如果它没有,是否有另一种模拟鼠标移动/点击的方法?您是否曾尝试在虚拟机中使用此类,如果它有效,您的设置是什么?
答案 0 :(得分:0)
IT无法运作...我们遇到的类似问题...当您在笔记本电脑/台式机上打开虚拟机时,您的测试脚本将会通过。
尝试此操作...开始测试并关闭VNC / RDC,然后检查结果(失败)。
原因是......这个Robot类正在寻找物理键盘,但是当我们在CI上运行测试套件时,我们没有物理键盘......
所以它不会工作。
替代解决方案:使用Selenium方法
答案 1 :(得分:0)
也许它不起作用,因为您已经在计算机中安装了来宾添加。我使用的是VirtualBox,当我卸载Guest Additions程序(在虚拟机控制面板内部)时,问题已解决,并且鼠标可以像在主机上进行的测试一样移动。希望对您有帮助。它对我有用。