繁体   English   中英

从 shell 脚本在 docker 中启动 selenium 集线器时遇到问题

[英]Having issues with starting a selenium hub in docker from shell script

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 脚本,selenium 集线器启动。 但是为了使集线器启动,该过程必须继续运行。 如果我不给 p.waitFor() 我的脚本会快速执行并且集线器没有启动。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM