从jar文件启动时,Selenium Server没有响应

时间:2014-02-28 21:46:25

标签: java selenium selenium-webdriver selenium-grid2

我正在将无头Ubuntu服务器设置为节点。这个节点通过Chromedriver运行Chrome,当我通过bash启动jar时,我能够运行测试。这是我正在使用的命令:

java -jar /opt/selenium-server-standalone-2.39.0.jar -role node -hub 
http://qwautomation02:4444/grid/register -port 5555 
-Dwebdriver.chrome.driver=/opt/chromedriver.exe -nodeConfig /mnt/smb/Configuration/nodeConfig.json

我编写了一个Java应用程序来运行此命令,并将正在使用的端口插入到数据库中。此应用程序使用相同的bash命令启动上面的Selenium服务器。我从/ opt目录启动这个jar,这个目录是Selenium服务器jar所在的目录。这是适用的方法:

    public static Process startupNode(int portNumber, String browser) throws IOException{
    //If Linux, else Windows.
    String port = String.valueOf(portNumber);
    if (Portability.isUnix()) {
        return Runtime.getRuntime().exec(String.format("java -jar /opt/selenium-server-standalone-2.39.0.jar -role node -hub http://qwautomation02:4444/grid/register -port %s -Dwebdriver.chrome.driver=/opt/chromedriver -nodeConfig /mnt/smb/Configuration/nodeConfig.json"
                , port));   
    }
    else
        return Runtime.getRuntime().exec(String.format("java -jar C:\\Selenium\\vendor\\selenium-server-standalone-2.39.0.jar -role node -hub http://qwautomation02:4444/grid/register -port %s -Dwebdriver.chrome.driver=C:\\Chromedriver\\chromedriver.exe -nodeConfig \\\\qwautomation02\\WebDriver\\Configuration\\nodeConfig.json"
                , port));   
}

我可以开始测试和部分运行,但是这个异常总是在执行期间抛出而无法捕获。

Exception being thrown

在执行中期,会话似乎正在失去与中心的通信。但是,考虑到当我手动运行bash命令时测试将完成,我不知道为什么会发生这种情况。

1 个答案:

答案 0 :(得分:1)

这听起来像是一个Ubuntu权限错误。您的个人Ubuntu用户具有执行访问权限,但运行java文件的用户/进程可能没有。