【发布时间】:2017-04-29 06:51:25
【问题描述】:
这是一个痛苦的问题。我有一个 Java Swing 应用程序,我正在尝试使用带有 SwingLibrary 的 Robot Framework 进行测试。我在 Vagrant 盒子里做所有事情。我有一个这样的运行脚本,它将开始测试:
export CLASSPATH=swinglibrary-1.8.0.jar:echoapp.jar
export JAVA_OPTS="-Djava.awt.headless=true"
jython `which robot` --loglevel DEBUG test.robot
当我在 VM 中运行该脚本时,它运行良好。但是如果我通过 SSH 运行它,我就不能让它正常工作。我看到以下错误消息:
[ ERROR ] Error in file '/vagrant/robotTests/test.robot': Getting keyword
names from library 'SwingLibrary' failed: Calling dynamic method
'getKeywordNames' failed: ExceptionInInitializerError
我完全糊涂了。我最初以为是 X11 的问题,但后来我打开了 X11 转发,用 Putty 连接到 Vagrant 盒子,并让应用程序出现在 X11 窗口中。
谷歌搜索错误并没有太大帮助。任何事,有人吗?在这个问题上我很痛苦。
【问题讨论】:
-
运行jython进程的机器是否也安装了swing库?
-
是的。我可以使用 VirtualBox GUI 登录 VM,然后运行脚本。 VM 已安装 jython、机器人框架和 swing 库。
标签: java swing ssh vagrant robotframework