簡體   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