我有一个使用java.awt.Robot练习自定义Swing组件的测试。我想在我们的构建服务器中运行测试,但构建服务器在锁定的Windows机器上运行,而Robot.keyPress(char)在屏幕锁定时不起作用。我发送的按键有时候是向下箭头和退格键,所以将它们直接发送到文档是没有用的。
目前我只是使用junit的Assume跳过测试,如果键盘输入在第一次尝试时不起作用,但我想让这些测试启用。我会假设有人正在对Swing gui进行这些测试。有什么想法吗?
答案 0 :(得分:1)
黑暗中的刺:也许虚拟机(如VirtualBox)可以在后台运行,但就机器人所知,所有意图和目的都是“清醒和解锁”。虚拟框将运行您的单元测试。
答案 1 :(得分:0)
您是否尝试过使用java的headless模式? 我猜java.awt.Robot在这种情况下不起作用,因为它特别依赖于awt被加载。在这种情况下,应该更好地依赖gui测试框架,比如酷(并且在无头模式下运行)fest-swing。