diff --git a/mac/common-utils.sh b/mac/common-utils.sh index 83e6bf2..db37d7d 100644 --- a/mac/common-utils.sh +++ b/mac/common-utils.sh @@ -301,6 +301,7 @@ is_private_ip() { } is_domain_private() { + local is_cx_domain_private=100 domain=${CX_TEST_URL#*://} # remove protocol domain=${domain%%/*} # remove everything after first "/" log_msg_to "Website domain: $domain" @@ -466,6 +467,8 @@ detect_os() { } print_env_vars() { + local test_type=$1 + local tech_stack=$2 log_section "✅ Environment Variables" log_info "BrowserStack Username: $BROWSERSTACK_USERNAME" log_info "BrowserStack Project Name: $BROWSERSTACK_PROJECT_NAME" @@ -490,23 +493,24 @@ print_env_vars() { clean_env_vars() { log_section "✅ Clean Environment Variables" - export BROWSERSTACK_USERNAME="" - export BROWSERSTACK_ACCESS_KEY="" - export BROWSERSTACK_APP="" - export BSTACK_CAPS_JSON="" - export BSTACK_PLATFORMS="" - export CX_TEST_URL="" - export NOW_WEB_DOMAIN="" - export BROWSERSTACK_PROJECT_NAME="" - export BROWSERSTACK_BUILD_NAME="" - export BROWSERSTACK_LOCAL_CUSTOM="" - export BROWSERSTACK_LOCAL="" - export BSTACK_PARALLELS="" - export APP_PLATFORM="" - export NOW_PLATFORM="" - export BSTACK_CAPS_JSON="" - export BSTACK_PLATFORMS="" - export BROWSERSTACK_APP + + # list of variables to unset + vars=( + BSTACK_CAPS_JSON + BSTACK_PLATFORMS + BROWSERSTACK_PROJECT_NAME + BROWSERSTACK_BUILD_NAME + BROWSERSTACK_LOCAL_CUSTOM + BROWSERSTACK_LOCAL + ) + + # unset each variable safely + for var in "${vars[@]}"; do + unset "$var" + done log_info "Cleared environment variables." + + log_info "Terminating any running BrowserStack Local instances." + pgrep '[B]rowserStack' | awk '{print $1}' | xargs kill -9 >/dev/null 2>&1 || true } diff --git a/mac/env-setup-run.sh b/mac/env-setup-run.sh index 15a2b37..1fe3428 100644 --- a/mac/env-setup-run.sh +++ b/mac/env-setup-run.sh @@ -103,7 +103,7 @@ EOF mvn install -DskipTests >> "$NOW_RUN_LOG_FILE" 2>&1 || return 1 log_success "Dependencies installed" - print_env_vars + print_env_vars "$test_type" "$tech_stack" print_tests_running_log_section "mvn test -P sample-test" @@ -163,7 +163,7 @@ EOF fi log_success "Dependencies installed" - print_env_vars + print_env_vars "$test_type" "$tech_stack" log_msg_to "🚀 Running 'mvn test -P sample-test'. This could take a few minutes. Follow the Automaton build here: https://automation.browserstack.com/" print_tests_running_log_section "mvn test -P sample-test" @@ -217,7 +217,7 @@ EOF report_bstack_local_status "$local_flag" - print_env_vars + print_env_vars "$test_type" "$tech_stack" print_tests_running_log_section "browserstack-sdk pytest -s tests/*.py" log_msg_to "🚀 Running 'browserstack-sdk pytest -s tests/*.py'. This could take a few minutes. Follow the Automaton build here: https://automation.browserstack.com/" @@ -271,7 +271,7 @@ EOF export BROWSERSTACK_BUILD_NAME="now-$NOW_OS-app-python-pytest" export BROWSERSTACK_PROJECT_NAME="now-$NOW_OS-app" - print_env_vars + print_env_vars "$test_type" "$tech_stack" print_tests_running_log_section "cd $run_dir && browserstack-sdk pytest -s bstack-sample.py" # Run pytest with BrowserStack SDK from the chosen platform directory @@ -311,7 +311,8 @@ setup_web_nodejs() { export BSTACK_PARALLELS=$parallels if is_domain_private; then - local_flag=true + log_msg_to "Entered in Is domain private condition" + local_flag="true" fi export BROWSERSTACK_LOCAL_CUSTOM=$local_flag @@ -320,7 +321,7 @@ setup_web_nodejs() { report_bstack_local_status "$local_flag" - print_env_vars + print_env_vars "$test_type" "$tech_stack" # === 8️⃣ Run Tests === log_msg_to "🚀 Running 'npm run test'. This could take a few minutes. Follow the Automaton build here: https://automation.browserstack.com/" @@ -368,7 +369,7 @@ setup_app_nodejs() { export BROWSERSTACK_BUILD_NAME="now-$NOW_OS-app-nodejs-wdio" export BROWSERSTACK_PROJECT_NAME="now-$NOW_OS-app" - print_env_vars + print_env_vars "$test_type" "$tech_stack" # === 8️⃣ Run Tests === log_msg_to "🚀 Running 'npm run test'. This could take a few minutes. Follow the Automaton build here: https://automation.browserstack.com/" diff --git a/mac/run.sh b/mac/run.sh index 8aa4775..e06fcb2 100755 --- a/mac/run.sh +++ b/mac/run.sh @@ -30,6 +30,7 @@ TSTACK=$3 # Tech Stack from env (for silent mode) log_section "🧭 Setup Summary – BrowserStack NOW" log_info "Timestamp: $(date '+%Y-%m-%d %H:%M:%S')" +trap clean_env_vars EXIT # runs cleanup on script exit clean_env_vars detect_os setup_workspace