create shell scripts to run frontend test

This commit is contained in:
anovazzi1 2023-10-09 17:04:07 -03:00
commit f7534516ef
3 changed files with 160 additions and 114 deletions

View file

@ -1,5 +1,35 @@
#!/bin/bash
# Default value for the --ui flag
ui=false
# Parse command-line arguments
while [[ $# -gt 0 ]]; do
key="$1"
case $key in
--ui)
ui=true
shift
;;
*)
echo "Unknown option: $key"
exit 1
;;
esac
shift
done
# Function to forcibly terminate a process by port
terminate_process_by_port() {
port="$1"
echo "Terminating process on port: $port"
fuser -k -n tcp "$port" # Forcefully terminate processes using the specified port
echo "Process terminated."
}
# Trap signals to ensure cleanup on script termination
trap 'terminate_process_by_port 7860; terminate_process_by_port 3000' EXIT
# Navigate to the project root directory (where the Makefile is located)
cd ../../
@ -9,8 +39,18 @@ make frontend &
# Give some time for the frontend to start (adjust sleep duration as needed)
sleep 10
#Run frontend only Playwright tests
cd src/frontend && npx playwright test --ui tests/onlyFront
# Navigate to the test directory
cd src/frontend
# Run frontend only Playwright tests with or without UI based on the --ui flag
if [ "$ui" = true ]; then
PLAYWRIGHT_HTML_REPORT=playwright-report/onlyFront npx playwright test tests/onlyFront --ui --project=chromium
else
PLAYWRIGHT_HTML_REPORT=playwright-report/onlyFront npx playwright test tests/onlyFront --project=chromium
fi
# Navigate back to the project root directory
cd ../../
# Start the backend using 'make backend' in the background
make backend &
@ -21,11 +61,15 @@ sleep 10
# Navigate back to the test directory
cd src/frontend
# Run Playwright tests
npx playwright test --ui tests/end-to-end
# Run Playwright tests with or without UI based on the --ui flag
if [ "$ui" = true ]; then
PLAYWRIGHT_HTML_REPORT=playwright-report/e2e npx playwright test tests/end-to-end --ui --project=chromium
else
PLAYWRIGHT_HTML_REPORT=playwright-report/e2e npx playwright test tests/end-to-end --project=chromium
fi
npx playwright show-report
# After the tests are finished, you can add cleanup or teardown logic here if needed
# Terminate the background processes (backend and frontend)
pkill -f "make backend"
pkill -f "make frontend"
# The trap will automatically terminate processes by port on script exit