Java RemoteSwingLibraryTimeoutError:超时前未收到代理端口
我正试图用RemoteSwingLibrary运行一个基本的robotframework测试,但似乎无法让它正常工作 使用SwingLibrary,我可以很好地运行以下测试:Java RemoteSwingLibraryTimeoutError:超时前未收到代理端口,java,eclipse,robotframework,Java,Eclipse,Robotframework,我正试图用RemoteSwingLibrary运行一个基本的robotframework测试,但似乎无法让它正常工作 使用SwingLibrary,我可以很好地运行以下测试: *** Settings *** Library SwingLibrary *** Test Cases *** Foobar Test Start Application fully.qualified.name.of.my.class *** Settings *** Library RemoteSwing
*** Settings ***
Library SwingLibrary
*** Test Cases ***
Foobar Test
Start Application fully.qualified.name.of.my.class
*** Settings ***
Library RemoteSwingLibrary
*** Test Cases ***
Foobar Test
Start Application my_app java fully.qualified.name.of.my.class
我正在Eclipse中通过robot框架独立jar运行它。我将robotframework-3.0.2.jar和swinglibrary-1.9.7.jar放在我的类路径上,使用我的项目默认类路径创建了一个新的运行配置,主类为org.robotframework.robotframework。在参数中,我指定测试文件的名称
所以,这似乎很有效。然后我尝试用RemoteSwingLibrary做几乎完全相同的事情:
*** Settings ***
Library SwingLibrary
*** Test Cases ***
Foobar Test
Start Application fully.qualified.name.of.my.class
*** Settings ***
Library RemoteSwingLibrary
*** Test Cases ***
Foobar Test
Start Application my_app java fully.qualified.name.of.my.class
我用remoteswinglibrary-2.2.1.jar替换了类路径上的swinglibrary jar,并运行了相同的测试。结果显示:
console: Failed to install '': java.nio.charset.UnsupportedCharsetException: cp0.
==============================================================================
Remotetest
==============================================================================
Foobar Test | FAIL |
RemoteSwingLibraryTimeoutError: Agent port not received before timeout
------------------------------------------------------------------------------
Remotetest | FAIL |
1 critical test, 0 passed, 1 failed
1 test total, 0 passed, 1 failed
==============================================================================
Output: C:\<path>\output.xml
Log: C:\<path>\log.html
Report: C:\<path>\report.html
我得到的错误输出与我之前得到的基本相同:
Error opening zip file or JAR manifest missing : C:<pathToProject>\__pyclasspath__
打开zip文件或JAR清单时出错缺少:C:\\uu pyclasspath__
选择了JAVA_工具选项:-javaagent:“__pyclasspath__”=127.0.0.1:8242:APPORT=8242:DEBUG
选择了以下选项:-Djava.security.policy=“C:\\AppData\Local\Temp\1\grant\u all\u lgirs7.policy”
我的批处理脚本打印出的环境看起来是相同的,除了JAVA_工具选项和JAVA_选项(与错误输出的内容相匹配)。没有名为\uuuu pyclasspath\uuuu
的环境变量,因此我想知道这是否是问题所在
我在cmd环境中设置了JAVA_TOOL_选项,以匹配我在robot运行中看到的输出,现在我在尝试从命令行运行.bat脚本时收到了相同的错误消息,因此环境变量似乎是问题所在。嗯,我提出了一个修复方案,尽管它肯定不是理想的修复方案
我发现,当框架启动我的远程应用程序时,它会设置:
JAVA_TOOL_OPTIONS=-javaagent:"C:\<pathToProject>\__pyclasspath__
然后创建了一个名为run.bat的文件,它可以:
set JAVA_TOOL_OPTIONS=-javaagent:"C:\<pathToProject\lib\remoteswinglibrary-2.2.1.jar"=127.0.0.1:1234:APPORT=1234
java -cp <classPath> fully.qualified.name.of.class
set JAVA\u TOOL\u OPTIONS=-javaagent:“C:\
JAVA_TOOL_OPTIONS=-javaagent:"C:\<pathToProject>\__pyclasspath__
*** Settings ***
Library RemoteSwingLibrary
*** Test Cases ***
Foobar Test
Start Application my_app run.bat remote_port=1234
set JAVA_TOOL_OPTIONS=-javaagent:"C:\<pathToProject\lib\remoteswinglibrary-2.2.1.jar"=127.0.0.1:1234:APPORT=1234
java -cp <classPath> fully.qualified.name.of.class