This commit is contained in:
2026-06-21 12:32:44 +02:00
parent 107158eb04
commit be3e180137
27 changed files with 5037 additions and 20 deletions

77
tests/robot/run.sh Normal file
View File

@@ -0,0 +1,77 @@
#!/bin/bash
# Run Aniworld Robot Framework tests on Unix/Linux/macOS
# Usage: ./run.sh [suite_pattern]
# Examples:
# ./run.sh # Run all tests
# ./run.sh api/auth.robot # Run specific suite
# ./run.sh ui/ # Run all UI tests
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
ROBOT_DIR="$(dirname "$SCRIPT_DIR")"
PROJECT_DIR="$(dirname "$ROBOT_DIR")"
RESULTS_DIR="$ROBOT_DIR/results"
# Default: run everything
SUITE_PATTERN="${1:-tests/robot/}"
echo "========================================"
echo "Aniworld Robot Framework Test Runner"
echo "========================================"
echo "Project dir: $PROJECT_DIR"
echo "Results dir: $RESULTS_DIR"
echo "Suite pattern: $SUITE_PATTERN"
echo ""
# Ensure we're in the project directory
cd "$PROJECT_DIR"
# Check Python environment
if ! command -v python >/dev/null 2>&1; then
echo "Error: python not found in PATH"
exit 1
fi
# Install/update Robot Framework dependencies
echo "Installing Robot Framework dependencies..."
pip install -q robotframework robotframework-browser robotframework-requests robotframework-jsonlibrary 2>/dev/null || true
# Initialize Browser library (Playwright)
echo "Initializing Browser library (Playwright)..."
python -m Browser.entry init 2>/dev/null || rfbrowser init 2>/dev/null || echo "Warning: Browser library init may need manual run: 'rfbrowser init'"
# Create results directory
mkdir -p "$RESULTS_DIR"
# Run tests
echo ""
echo "Running Robot Framework tests..."
echo "----------------------------------------"
robot \
--outputdir "$RESULTS_DIR" \
--logtitle "Aniworld Test Log" \
--reporttitle "Aniworld Test Report" \
--metadata Project:Aniworld \
--metadata Environment:"$(python --version 2>&1)" \
--variable BASE_URL:http://127.0.0.1:8765 \
--variable BROWSER:chromium \
--variable HEADLESS:True \
"$SUITE_PATTERN"
EXIT_CODE=$?
echo ""
echo "========================================"
if [ $EXIT_CODE -eq 0 ]; then
echo "All tests PASSED"
else
echo "Some tests FAILED (exit code: $EXIT_CODE)"
fi
echo "Report: $RESULTS_DIR/report.html"
echo "Log: $RESULTS_DIR/log.html"
echo "Output: $RESULTS_DIR/output.xml"
echo "========================================"
exit $EXIT_CODE