从Shell脚本在Docker中启动Selenium Hub时遇到问题

shell脚本代码:

#!/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脚本,硒集线器启动了。但是为了使集线器正常运行,该过程必须继续运行。如果我不给出p.waitFor(),我的脚本将快速执行并且集线器无法启动。

我需要有关如何保持集线器正常运行并同时在后台运行此过程的帮助。或任何其他替代方法可以实现我的目标。

youchaozan 回答:从Shell脚本在Docker中启动Selenium Hub时遇到问题

我试图启动并运行我的硒中心,以便可以开始执行测试用例。我做了以下工作,对我有用。我给了一个等待时间,看来这是我的问题。

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

您需要将此添加到docker-compose文件

stdin_open: true 
tty: true

,再试一次。

https://docs.docker.com/compose/reference/run

本文链接:https://www.f2er.com/3157220.html

大家都在问