简体   繁体   English

如何在JRuby中使用Jemmy将参数传递给Main Application Class?

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

I'm automating a Swing GUI application using JRuby and Jemmy library. 我正在使用JRuby和Jemmy库自动化Swing GUI应用程序。 The application takes arguments when launching. 应用程序在启动时会接受参数。 I was able to launch the application from command line by passing the arguments after the Main Class name. 我可以通过在Main Class名称后面传递参数来从命令行启动应用程序。 Is there a way to do the same using Jemmy in JRuby? 有没有办法在JRuby中使用Jemmy来做同样的事情?

From command line 从命令行

java -cp CLASSPATH org.sample.MainApplication arg1 arg2 java -cp CLASSPATH org.sample.MainApplication arg1 arg2

From Jemmy documentation 从Jemmy文档中

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

What I've tried in JRuby 我在JRuby中尝试过的

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

main_app.start_application() main_app.start_application()

After much trial & error I figured out the issue. 经过反复尝试和错误后,我发现了问题所在。 I was sending incorrect format for arguments. 我发送的参数格式错误。

main_app.start_application(['arg1','arg2'].to_java(:string)) did the trick. main_app.start_application(['arg1','arg2']。to_java(:string))达到了目的。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM