Возникли проблемы с запуском хаба селена в докере из сценария оболочки
Код сценария оболочки:
#!/bin/bash
cd /Users/lee/Documents/DockerValidation/
docker-compose -f docker-compose.yaml up --force-recreate --scale chrome=3 >>output.txt
Код для вызова сценария оболочки из java
Process p = Runtime.getRuntime().exec("./docker_start.sh");
p.waitFor();
приведенный выше код запускает сценарий оболочки, и концентратор селена работает. но для того, чтобы концентратор работал, процесс должен продолжаться. Если я не дам p.waitFor(), мой скрипт выполняется быстро, а хаб не работает.
Мне нужна помощь в понимании того, как поддерживать мой хаб в рабочем состоянии и в то же время запускать этот процесс в фоновом режиме. Или любые другие альтернативы для достижения моей цели.
2 ответа
Вам нужно добавить это в файл docker-compose
stdin_open: true
tty: true
,попробуй еще раз.
Я пытался запустить свой селен-концентратор, чтобы я мог начать выполнять свои тестовые примеры. Я сделал следующее, и у меня это сработало. Я дал время подождать, похоже, это была проблема в моем случае.
String cmd="./docker_start.sh";
Process p = Runtime.getRuntime().exec(cmd);
p.waitFor(5,TimeUnit.SECONDS);