backup
This commit is contained in:
78
tests/robot/run.ps1
Normal file
78
tests/robot/run.ps1
Normal file
@@ -0,0 +1,78 @@
|
||||
# Run Aniworld Robot Framework tests on Windows (PowerShell)
|
||||
# Usage: .\run.ps1 [-SuitePattern "api/auth.robot"]
|
||||
# Examples:
|
||||
# .\run.ps1 # Run all tests
|
||||
# .\run.ps1 -SuitePattern "api/" # Run all API tests
|
||||
# .\run.ps1 -SuitePattern "ui/" # Run all UI tests
|
||||
|
||||
param(
|
||||
[string]$SuitePattern = "tests/robot/"
|
||||
)
|
||||
|
||||
$scriptDir = Split-Path -Parent $MyInvocation.MyCommand.Definition
|
||||
$robotDir = Split-Path -Parent $scriptDir
|
||||
$projectDir = Split-Path -Parent $robotDir
|
||||
$resultsDir = Join-Path $robotDir "results"
|
||||
|
||||
Write-Host "========================================" -ForegroundColor Cyan
|
||||
Write-Host "Aniworld Robot Framework Test Runner" -ForegroundColor Cyan
|
||||
Write-Host "========================================" -ForegroundColor Cyan
|
||||
Write-Host "Project dir: $projectDir"
|
||||
Write-Host "Results dir: $resultsDir"
|
||||
Write-Host "Suite pattern: $SuitePattern"
|
||||
Write-Host ""
|
||||
|
||||
# Ensure we're in the project directory
|
||||
Set-Location $projectDir
|
||||
|
||||
# Check Python
|
||||
if (-not (Get-Command python -ErrorAction SilentlyContinue)) {
|
||||
Write-Error "Error: python not found in PATH"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Install/update Robot Framework dependencies
|
||||
Write-Host "Installing Robot Framework dependencies..." -ForegroundColor Yellow
|
||||
& python -m pip install -q robotframework robotframework-browser robotframework-requests robotframework-jsonlibrary 2>$null
|
||||
|
||||
# Initialize Browser library (Playwright)
|
||||
Write-Host "Initializing Browser library (Playwright)..." -ForegroundColor Yellow
|
||||
& python -m Browser.entry init 2>$null
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
Write-Warning "Browser library init may need manual run: 'rfbrowser init'"
|
||||
}
|
||||
|
||||
# Create results directory
|
||||
New-Item -ItemType Directory -Force -Path $resultsDir | Out-Null
|
||||
|
||||
# Run tests
|
||||
Write-Host ""
|
||||
Write-Host "Running Robot Framework tests..." -ForegroundColor Green
|
||||
Write-Host "----------------------------------------" -ForegroundColor Green
|
||||
|
||||
& robot `
|
||||
--outputdir $resultsDir `
|
||||
--logtitle "Aniworld Test Log" `
|
||||
--reporttitle "Aniworld Test Report" `
|
||||
--metadata Project:Aniworld `
|
||||
--metadata Environment:"$(& python --version)" `
|
||||
--variable BASE_URL:http://127.0.0.1:8765 `
|
||||
--variable BROWSER:chromium `
|
||||
--variable HEADLESS:True `
|
||||
$SuitePattern
|
||||
|
||||
$exitCode = $LASTEXITCODE
|
||||
|
||||
Write-Host ""
|
||||
Write-Host "========================================" -ForegroundColor Cyan
|
||||
if ($exitCode -eq 0) {
|
||||
Write-Host "All tests PASSED" -ForegroundColor Green
|
||||
} else {
|
||||
Write-Host "Some tests FAILED (exit code: $exitCode)" -ForegroundColor Red
|
||||
}
|
||||
Write-Host "Report: $resultsDir\report.html"
|
||||
Write-Host "Log: $resultsDir\log.html"
|
||||
Write-Host "Output: $resultsDir\output.xml"
|
||||
Write-Host "========================================" -ForegroundColor Cyan
|
||||
|
||||
exit $exitCode
|
||||
Reference in New Issue
Block a user