shell - 从 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() 我的脚本会快速执行并且集线器没有启动。
我需要帮助来了解如何让我的集线器保持正常运行,同时在后台运行这个过程。或任何其他替代方案来实现我的目标。
解决方案
我试图让我的硒集线器启动并运行,以便我可以开始执行我的测试用例。我做了以下事情,它对我有用。我给了一个等待时间,似乎这是我的问题。
String cmd="./docker_start.sh";
Process p = Runtime.getRuntime().exec(cmd);
p.waitFor(5,TimeUnit.SECONDS);
推荐阅读
- python-3.x - 我正在尝试安装 cocoapi 但我收到此错误
- sql-server - 如何将带有 base64 字符串的 varbinary 列更新为字节?
- python - 使用 2 个 while 循环删除相关 DataFrame 中的行(python)
- python - 如何在python django中返回给定日期的最大值
- php - 如何从一个刀片表单编辑多个字段
- python - 在 python 3.9+ 中,如何用省略号为内置元组类型编写类型别名?(我的错误?)
- soap - 将服务移至端口 5000 后,SOAP Web 请求不再有效
- sql - 如果 mydate 不是 nulll 或空白且 mydate>todaydate,则将 6 个月添加到 mydate 列
- python - 未知数量的参数,所以一个或多个 discord.py
- .net - 为什么我的 localdb 测试在 Azure DevOps 中运行良好?