当前位置: 首页 > 知识库问答 >
问题:

如何使用apache commons exec作为集线器运行selenium独立服务器?

平庆
2023-03-14

我正在尝试启动selenium独立服务器作为java程序中的中心。我尝试使用ProcessBuilder和Process。我无法做到这一点。然后我找到了Apache Commons exec库。我能够启动selenium服务器。但是,当我使用以下代码时,我无法将服务器作为集线器运行。我正在尝试通过eclipse运行此代码。

package selenium.tool.utils;
import org.apache.commons.exec.CommandLine;
import org.apache.commons.exec.DefaultExecutor;

public class HubRunner {

public HubRunner(String portNumber) {
    try {
        String cmd = "java";

        CommandLine cmdline = CommandLine.parse(cmd);
        cmdline.addArgument("-jar");
        cmdline.addArgument("selenium-server-standalone-2.33.0.jar");
        cmdline.addArgument("-role hub", false);
        cmdline.addArgument("-port 5454", false);

        System.out.println(cmdline.toString());

        DefaultExecutor exe = new DefaultExecutor();
        exe.execute(cmdline);
    } catch (Exception ex) {
        System.err.println(ex.getMessage());
    }
}

public static void main(String[] args) {
    HubRunner hr = new HubRunner("8888");
}
}

理想情况下,该程序应该将服务器作为集线器启动。但是,它没有这样做。它省略了“-角色集线器”和“-port 5454”参数。

我得到以下输出:

java-jar selenium-server-standalone-2.33.0。jar-角色中心-端口5454,2013年7月28日10:42:32 PM org。openqa。网格硒。GridLauncher main信息:启动独立服务器信息-Java:Sun Microsystems股份有限公司14.0-b16信息-操作系统:Linux 2.6.33.3-85。fc13.i686。PAE i386:42:33.520信息-v2.33.0,核心为v2.33.0。根据版本4e90c97构建-RemoteWebDriver实例应连接到:<代码>http://127.0.0.1:4444/wd/hub
22:42:34.115信息-版本Jetty/5.1。x
22:42:34.117信息-启动HttpContext[/selenium服务器/驱动程序,/selenium服务器/驱动程序]
22:42:34.119信息-启动HttpContext[/selenium服务器,/selenium服务器]
22:42:34.120信息-启动HttpContext[/,/,/]。openqa。码头。码头。servlet。ServletHandler@13c468a
22:42:34.183信息-已启动HttpContext[/wd,/wd]
22:42:34.200信息-已启动0.0.0.0:4444上的SocketListener
22:42:34.200信息-已启动组织。openqa。码头。码头。Server@15e83f9

请帮帮我。

共有1个答案

孙修德
2023-03-14

我使用shell文件解决了这个问题。我在. sh文件中编写了启动selenium hub的命令。然后我做了以下事情:

String cmd = "bash";
CommandLine cmdLine = new CommandLine(cmd);
cmdLine.addArgument("./src/main/resources/scripts/hub_start.sh");
cmdLine.addArgument(portNumber);
executor.execute(cmdLine);

因此,我能够执行shell文件并启动selenium hub。

 类似资料:
  • 问题内容: 我正在尝试运行selenium服务器,并出现错误: 没有-r(反正是什么?) 我应该如何启动服务器? 如何设置非默认端口来收听? 这两篇文章:1 2-关于语法矛盾。我认为。 问题答案: 如果要指定端口,请执行 从3.8.1开始,不再需要指定驱动程序:

  • 问题内容: 在我的VPS上启动selenium独立服务器时遇到麻烦 输出: 此后没有更多输出。在本地,相同的命令就像一个超级按钮一样工作。任何提示如何解决此问题? 爪哇 更新1 该服务根本不在任何端口上运行 Netstat输出 更新2 好的,这里的主要问题是selenium服务器在启动时卡住了,我不知道为什么。我销毁了我的VPS机器并从头开始。selenium服务器启动一次,在我停止并再次启动后,

  • 我是Selenium IDE的初学者。添加了插件,并试图运行一个测试用例。它向我显示了下面的错误消息。 因此,我下载了必要的jar文件,并执行下面的命令java-jar selenium-server-standalone-2.28.0。jar[替换为下载的最新版本] 收到的信息如下:该怎么办? selenium-server-standalone-3.0.1。罐子 Java版本java版本"1.

  • ~/tests>uname-a Linux ghopper-K52F 4.10.0-40-generic#44-Ubuntu SMP Thu 11月9日14:49:09 UTC 2017 x86_64 x86_64 x86_64 gnu/Linux 我想用chromedriver启动服务器 null 附言。我在另一台电脑上做同样的事情,对我来说一切都很好。我认为问题出在环境上,而不是服务器的配置上

  • 问题内容: 我在新的数字海洋ubuntu 14.04服务器上部署了selenium独立服务器。它无法正常启动。它给出的日志是 我猜在日志中缺少2行。 有人知道为什么会发生吗? 问题答案: 当硒试图产生随机种子时会发生这种情况,但是内核缺乏熵。 解决方案是安装类似的添加熵的软件。参见https://www.digitalocean.com/community/tutorials/how- to-se