2

我有一个使用 java.awt.Robot 练习自定义 Swing 组件的测试。我想在我们的构建服务器中运行测试,但是构建服务器在锁定的 Windows 机器上运行,并且 Robot.keyPress(char) 在屏幕锁定的情况下不起作用。我发送的击键有时是向下箭头和退格键,因此将它们直接发送到文档没有帮助。

目前,如果键盘输入在第一次尝试时不起作用,我只是使用 junit 的 Assume 来跳过测试,但我想启用这些测试。我会假设有人正在对 Swing gui 运行这些类型的测试。有任何想法吗?

4

2 回答 2

1

黑暗中的刺伤:也许虚拟机(如 VirtualBox)可能在后台运行,但就机器人所知,出于所有意图和目的,它会“唤醒并解锁”。虚拟盒将运行您的单元测试。

于 2010-01-04T15:44:12.837 回答
0

您是否尝试过使用java的无头模式?我猜 java.awt.Robot 在这种情况下不起作用,因为它特别取决于加载的 awt。在这种情况下,最好依赖 gui 测试框架,比如酷(并且以无头模式运行)的 fest-swing

于 2010-01-04T16:11:23.510 回答