首页 > 解决方案 > 从 shell 脚本在 docker 中启动 selenium 集线器时遇到问题

问题描述

外壳脚本代码:

#!/bin/bash
cd /Users/lee/Documents/DockerValidation/
docker-compose -f docker-compose.yaml up --force-recreate --scale chrome=3 >>output.txt

从 java 调用 shell 脚本的代码

Process p = Runtime.getRuntime().exec("./docker_start.sh");
p.waitFor();

上面的代码触发了shell脚本,selenium hub就起来了。但是为了使集线器启动,该过程必须继续运行。如果我不给 p.waitFor() 我的脚本会快速执行并且集线器没有启动。

我需要帮助来了解如何让我的集线器保持正常运行,同时在后台运行这个过程。或任何其他替代方案来实现我的目标。

标签: shelldockerdocker-composeselenium-hub

解决方案


我试图让我的硒集线器启动并运行,以便我可以开始执行我的测试用例。我做了以下事情,它对我有用。我给了一个等待时间,似乎这是我的问题。

String cmd="./docker_start.sh";
Process p = Runtime.getRuntime().exec(cmd);
p.waitFor(5,TimeUnit.SECONDS);

推荐阅读