Skript start_selenium_tests.sh
Automaticky generovaná dokumentace skriptu scripts/start_selenium_tests.sh.
1#!/bin/bash
2#spsteni selenium tersů
3# -f provede neuspesne testy
4# -a provede vsechny testy
5mode="a"
6usage() {
7 echo "Použití: $0 [-f] [-a] [-h]"
8 echo " -f provede neuspesne testy v tabulce "
9 echo " -a provede vsechny testy (výchozí)"
10 echo " -t cislo provede test zadaneho cisla "
11 echo " -b spusti všechny testy na pozadí, výstup se uloží do /opt/selenium_test/test.log a run.log"
12 echo " -h Zobrazí tuto napovedu"
13 echo " vysledky ulozi do /opt/selenium_test/results.xlsx,"
14 echo "v /opt/selenium_test/ se ukladaji take screenshoty kazdeho testu "
15 exit 1
16}
17
18
19test_all(){
20docker exec -i $(docker ps -q -f name=swarm_webamcr_web) script -q -c "python3 run_tests.py"
21}
22
23test_all_background(){
24nohup docker exec $(docker ps -q -f name=swarm_webamcr_web) python3 run_tests.py -s >>/opt/selenium_test/run.log 2>&1 &
25}
26
27test_failed(){
28docker exec -i $(docker ps -q -f name=swarm_webamcr_web) script -q -c "python3 run_tests.py -f"
29}
30
31test_number(){
32docker exec -i $(docker ps -q -f name=swarm_webamcr_web) script -q -c "python3 run_tests.py -t $1"
33}
34
35
36while getopts 'fabt:h' flag; do
37 case "${flag}" in
38 f) mode="f" ;;
39 a) mode="a" ;;
40 b) mode="b" ;;
41 t)
42 if ! [[ $OPTARG =~ ^[0-9]+$ ]]; then
43 echo "Chyba: parametr -t vyzaduje cislo."
44 usage
45 fi
46 mode="t"
47 t_value=$OPTARG
48 ;;
49 h) usage ;;
50 *) usage ;;
51 esac
52done
53
54if [ $OPTIND -eq 1 ]; then
55 mode="a"
56fi
57
58echo "Vybraný režim: $mode"
59
60if [ "$mode" == "f" ]; then
61 echo "Testuji pouze neuspesne."
62 test_failed
63elif [ "$mode" == "a" ]; then
64 echo "Testuji vse."
65 test_all
66elif [ "$mode" == "t" ]; then
67 echo "Testuji test $t_value."
68 test_number $t_value
69elif [ "$mode" == "b" ]; then
70 echo "Testuji vse na pozadi"
71 test_all_background
72fi