Created
January 27, 2022 17:59
-
-
Save BrunoMoraes-Z/cc3fb6c6b0bbbce84605e48850a8928d to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Comandos | |
# | |
# runner.sh <AMBIENTE> <COM PROMOÇÂO | SEM PROMOÇÂO> | |
# runner.sh 2 no_promo | |
# runner.sh 2 promo | |
# | |
# Variavel para controle para verificar se vai ser executado com ou sem promoção | |
promo=0 | |
# Este IF serve para definir o comando padrão caso não seja informado nenhum argumento | |
# ex: runner.sh | |
if [ $# -eq 0 ]; then | |
variables="-v AMBIENTE:3' -v pabot:True" | |
pabot_config="--pabotlib --resourcefile devices_h3.dat --processes 6" | |
echo "Executando todos os Testes em H3" | |
else | |
# Definindo qual o Ambiente estou querendo executar 1, 2, 3 | |
# ex: runner.sh 1 | |
ambient=$1 | |
# Caso tenha 2 argumentos no comando | |
# ex: runner.sh 1 <?> | |
if [ $# -eq 2 ]; then | |
# verifico se o segundo argumento é igual a 'promo' | |
if [ $2 = "promo" ]; then | |
promo=1 | |
variables="-v AMBIENTE:$ambient -v pabot:True -i 'PROMOCAO'" | |
pabot_config="--pabotlib --resourcefile devices_h$ambient.dat --processes 6 --testlevelsplit" | |
fi | |
# verifico se o segundo argumento é igual a 'no_promo' | |
if [ $2 = "no_promo" ]; then | |
variables="-v AMBIENTE:$ambient -v pabot:True -e 'PROMOCAO'" | |
pabot_config="--pabotlib --resourcefile devices_h$ambient.dat --processes 6" | |
fi | |
else | |
# Caso seja passado somente 1 argumento | |
# ex: runner.sh 1 | |
variables="-v AMBIENTE:$ambient' -v pabot:True" | |
pabot_config="--pabotlib --resourcefile devices_h$ambient.dat --processes 6" | |
fi | |
fi | |
# pabot --pabotlib --resourcefile devices_h2.dat --processes 6 -d results/suite -e "PROMOCAO" -e "PROMOCAO_LET" -e "PROMOCAO_PDV" -v pabot:True -v AMBIENTE:2 . | |
# pabot --pabotlib --resourcefile devices_h2.dat --processes 6 --testlevelsplit -d results/promo/1 -i "PROMOCAO" -v pabot:True -v AMBIENTE:2 . | |
configs="-W 170 --tagstatexclude '*'" | |
# Caso eu tenha informado segundo argumento = promo | |
# então ele define o comando para x | |
if [ $promo = 1 ]; then | |
rm -rf results_promo/* | |
robot_command="pabot $pabot_config -d ./results_promo $variables $configs ." | |
else | |
rm -rf results/* | |
robot_command="pabot $pabot_config -d ./results $variables $configs ." | |
fi | |
# robot_command="robot -d ./results $variables $configs ." | |
# log para saber qual o comando que foi montado pelo script & executa o script | |
printf "Starting Robot Framework tests: \n" | |
echo $robot_command | |
eval $robot_command | |
# Recupera o status da execução | |
exit_code=$? | |
# caso o codígo da execução seja diferente de 0 (ou seja ouve erro) | |
# então é executado os testes falhados. | |
if [ $exit_code -ne 0 ]; then | |
echo "One or more tests have failed." | |
# touch ./results/rerun.xml | |
echo "Re-running failed tests..." | |
# Novamente monta o comando de reexecução com base no parametro de promoção | |
if [ $promo = 1 ]; then | |
rerun_command="pabot $pabot_config $variables $configs --rerunfailed ./results_promo/output.xml -d ./results_promo --output rerun.xml -l rerun.html ." | |
else | |
rerun_command="pabot $pabot_config $variables $configs --rerunfailed ./results/output.xml -d ./results --output rerun.xml -l rerun.html ." | |
fi | |
# Loga o comando para saber o comando que esta sendo gerado & executa o comando. | |
echo $rerun_command | |
eval $rerun_command | |
echo "Re-building test report..." | |
# Faz o merge dos resultados (1 & 2) para termos apenas 1 log | |
if [ $promo = 1 ]; then | |
rebot_command="rebot -d ./results_promo --merge ./results_promo/output.xml ./results_promo/rerun.xml" | |
else | |
rebot_command="rebot -d ./results --merge ./results/output.xml ./results/rerun.xml" | |
fi | |
echo $rebot_command | |
eval $rebot_command | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment