我正在测试我的SWING Gui。
我通过使用FEST框架来做到这一点。
我有以下输入:
window.textBox("txtDatabaseConnectionString").enterText("jdbc:oracle:thin:10.254.202.27:1521:db");
实际上,它开始使用以下值填充文本框:
jdbc.oracle.thin&a
而且比测试崩溃...
我得到以下异常输出
java.lang.IllegalArgumentException:无效的键代码“ 46”位于
org.fest.swing.core.RobotEventGenerator.pressKey(RobotEventGenerator.java:116)
在org.fest.swing.core.BasicRobot.doPressKey(BasicRobot.java:633)处
org.fest.swing.core.BasicRobot.keyPressAndRelease(BasicRobot.java:618)
在org.fest.swing.core.BasicRobot.type(BasicRobot.java:589)处
org.fest.swing.core.BasicRobot.enterText(BasicRobot.java:572)在
org.fest.swing.driver.JTextComponentDriver.enterText(JTextComponentDriver.java:126)
在
org.fest.swing.fixture.JTextComponentFixture.enterText(JTextComponentFixture.java:208)
在
gui.GuiTest.shouldCopyTextInLabelWhenClickingButton(GuiTest.java:44)
最佳答案
FEST在键盘布局方面存在很多问题。如果您的语言环境不是en_gb/en_us
,则可能会遇到此类问题。键盘输入取决于您的键盘布局,在许多国家和操作系统中,键盘布局是不同的。我注意到在您的示例中,它还将:
更改为.
。在源here中,只有gb / en / de映射。要解决该问题,您可以添加自己的键盘映射,如本文所述:http://alexruiz.developerblogs.com/?p=1102
FEST看起来像是一个废弃的项目,我不确定这是否是最新消息。