J'utilise Codeship CI pour mon projet. J'ai des tests Selenium et j'utilise un navigateur distant depuis Selenium/standalone-firefox
mais il produit des tonnes de journaux, donc je veux désactiver stdout pour Selenium/standalone-firefox
conteneur.
Des idées comment je peux faire ça?
J'ai utilisé cette approche:
Java_OPTS=-Dselenium.LOGGER.level=WARNING
Ajout en tant que variables ENV dans l'image docker pour Selenium/standalone-chrome
.
Utilisation --log-driver=none
dans docker run
:
docker run -d --log-driver=none Selenium/standalone-firefox
Ou docker-compose.yml
version: '2'
services:
Selenium:
ports:
- "4444:4444"
logging:
driver: "none"
image:
Selenium/standalone-firefox
Vous pouvez également envoyer le journal dans un fichier en utilisant:
docker run -d --log-driver=none -e SE_OPTS="log log.txt" Selenium/standalone-firefox
Ou docker-compose.yml
version: '2'
services:
Selenium:
ports:
- "4444:4444"
logging:
driver: "none"
environment:
- SE_OPTS="log log.txt"
image:
Selenium/standalone-firefox
Pour la version 1 du fichier Docker-compose, il n'y a pas d'autre moyen que de modifier le entry_point.sh
placez ce fichier à côté de votre docker-compose.yml entry_point.sh
#!/bin/bash
source /opt/bin/functions.sh
export GEOMETRY="$SCREEN_WIDTH""x""$SCREEN_HEIGHT""x""$SCREEN_DEPTH"
function shutdown {
kill -s SIGTERM $NODE_PID
wait $NODE_PID
}
if [ ! -z "$SE_OPTS" ]; then
echo "appending Selenium options: ${SE_OPTS}"
fi
SERVERNUM=$(get_server_num)
xvfb-run -n $SERVERNUM --server-args="-screen 0 $GEOMETRY -ac +extension RANDR" \
Java ${Java_OPTS} -jar /opt/Selenium/selenium-server-standalone.jar \
${SE_OPTS} >/dev/null &
NODE_PID=$!
trap shutdown SIGTERM SIGINT
wait $NODE_PID
L'utilisation de ce docker-compose.yml
:
Selenium:
ports:
- "4444:4444"
volumes:
- .:/mnt
image:
Selenium/standalone-firefox
command: bash /mnt/entry_point.sh >/dev/null
Cordialement
CodeShip utilise une variante personnalisée de docker-compose v1 qui accepte un paramètre d'environnement. Ce qui suit dans codeship-services.yml a fonctionné pour moi:
Selenium:
image: Selenium/standalone-chrome
cached: true
container_name: Selenium
environment:
- SE_OPTS=-log /tmp/log.txt
La valeur SE_OPTS ne doit pas être entre guillemets./tmp est accessible en écriture, d'autres emplacements peuvent entraîner une erreur d'autorisation.