Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java RemoteSwingLibraryTimeoutError:超时前未收到代理端口_Java_Eclipse_Robotframework - Fatal编程技术网

Java RemoteSwingLibraryTimeoutError:超时前未收到代理端口

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

我正试图用RemoteSwingLibrary运行一个基本的robotframework测试,但似乎无法让它正常工作

使用SwingLibrary,我可以很好地运行以下测试:

*** 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