#!/bin/bash # TODO : # - passer le nom du script selenium en argument # - si zenity n'est pas disponible, faire un menu en mode texte # ------------------------------------------------------------------------ # exécuter le test et tuer le processus quand le message de fin apparait # ceci pour essayer de contourner le bug qui envoie le message ci-dessous : # # Jest did not exit one second after the test run has completed. # # 'This usually means that there are asynchronous operations that # weren't stopped in your tests. Consider running Jest with # `--detectOpenHandles` to troubleshoot this issue. # voir aussi https://github.com/SeleniumHQ/selenium-ide/issues/1819 # ------------------------------------------------------------------------ aide() { cat <&1 | traiter_test else eval ${COMMEXEC} fi elif [[ $# -gt 0 ]] then # exécuter les tests passés en arguments for test in "$@" do echo "Tester « $test »" COMMEXEC="${COMMANDE} -f \"$test\" ${TESTFILE}" echo "$COMMEXEC" if [[ $KILL -eq 1 ]] then eval ${COMMEXEC} 2>&1 | traiter_test else eval ${COMMEXEC} fi done else # Afficher les noms des suites de tests lesTests=$(awk \ '/"suites"/ { suite=1 } ; \ $1 ~ /"name":/ && suite { print gensub(/^.*: "(.+)",$/, "\\1", "g")}' \ ${TESTFILE} | \ sort | \ zenity \ --width=440 --height=500 \ --title "Suites" \ --text "Choisir au moins une suite" \ --list \ --multiple \ --column "Test" ) OLDIFS=$IFS IFS="\|" for test in $lesTests do COMMEXEC="${COMMANDE} -f \"$test\" ${TESTFILE}" echo "$COMMEXEC" CURIFS=$IFS IFS=$OLDIFS if [[ $KILL -eq 1 ]] then eval ${COMMEXEC} 2>&1 | traiter_test else eval ${COMMEXEC} fi IFS=$CURIFS done IFS=$OLDIFS fi