run_auto_tests.ps1 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. param(
  2. [string]$BaseUrl = "http://127.0.0.1:4301"
  3. )
  4. $ErrorActionPreference = "Stop"
  5. $reportDir = Join-Path $PSScriptRoot "reports"
  6. $logFile = Join-Path $reportDir "auto_test_log.txt"
  7. $summaryFile = Join-Path $reportDir "auto_test_summary.txt"
  8. New-Item -ItemType Directory -Path $reportDir -Force | Out-Null
  9. $oldErrorActionPreference = $ErrorActionPreference
  10. $ErrorActionPreference = "Continue"
  11. $output = powershell -ExecutionPolicy Bypass -File "$PSScriptRoot\servicepilot-ui-flow.ps1" -BaseUrl $BaseUrl 2>&1
  12. $exitCode = $LASTEXITCODE
  13. $ErrorActionPreference = $oldErrorActionPreference
  14. $ansiPattern = "$([char]27)\[[0-9;]*m"
  15. $textOutput = $output | ForEach-Object { $_.ToString() -replace $ansiPattern, "" }
  16. $textOutput | Set-Content -Path $logFile -Encoding UTF8
  17. $textOutput | ForEach-Object { Write-Host $_ }
  18. $result = "PASS"
  19. if ($exitCode -ne 0) {
  20. $result = "FAIL"
  21. }
  22. @(
  23. "ServicePilot 自动化测试执行记录",
  24. "执行时间:$(Get-Date -Format 'yyyy-MM-dd HH:mm:ss')",
  25. "测试地址:$BaseUrl",
  26. "测试范围:dashboard、tickets、sla、knowledge、files、reviews、test-plan 七个前端页面",
  27. "预期标准:页面 HTTP 200、截图文件生成成功、截图大小大于 10KB",
  28. "执行结果:$result",
  29. "详细日志:$logFile",
  30. "截图与 JSON 结果:$(Join-Path $PSScriptRoot 'artifacts')"
  31. ) | Set-Content -Path $summaryFile -Encoding UTF8
  32. Write-Host "自动化测试日志已生成:$logFile"
  33. Write-Host "自动化测试摘要已生成:$summaryFile"
  34. if ($exitCode -ne 0) {
  35. exit $exitCode
  36. }