如何在 JRuby 中使用 Jemmy 将参数传递给主应用程序 Class?

How do I pass arguments to Main Application Class using Jemmy in JRuby?

我正在使用 JRuby 和 Jemmy 库自动化 Swing GUI 应用程序。应用程序在启动时接受参数。通过在 Main Class 名称后传递参数,我能够从命令行启动应用程序。有没有办法在 JRuby 中使用 Jemmy 做同样的事情?

从命令行

java -cp CLASSPATH org.sample.MainApplication arg1 arg2

来自 Jemmy 文档

ClassReference newApp = ClassReference('org.sample.MainApplication'); newApp.startApplication();

我在 JRuby 中的尝试

main_app = ClassReference.new('org.sample.MainApplication')

main_app.start_application()

经过多次尝试和错误,我找到了问题所在。我发送的参数格式不正确。

main_app.start_application(['arg1','arg2'].to_java(:string)) did the trick.