Update run.bat

This commit is contained in:
2026-02-08 20:39:19 -06:00
parent 4bd0eb16fc
commit 8f22245637

206
run.bat
View File

@@ -1,81 +1,125 @@
@echo off @echo off
setlocal enabledelayedexpansion setlocal enabledelayedexpansion
REM ============================ REM ============================
REM QKF Full Test Runner REM QKF Full Test Runner
REM ============================ REM ============================
echo. echo.
echo ============================ echo ============================
echo QKF Test Execution echo QKF Test Execution
echo ============================ echo ============================
echo. echo.
REM --- Config (edit if needed) --- REM ----------------------------
set QKF_BROWSER=chrome REM Arguments
set QKF_HEADLESS=true REM ----------------------------
set QKF_TEST_TIMEOUT_MS=120000 set FORCE_INSTALL=false
set QKF_BASE_URL=http://gitea.cloud.qacg/user/login if "%1"=="--install" set FORCE_INSTALL=true
REM --- Paths --- REM ----------------------------
set FEATURES_DIR=features REM Config (edit if needed)
set GENERATED_DIR=test\generated REM ----------------------------
set ALLURE_RESULTS=allure-results set QKF_BROWSER=chrome
set ALLURE_REPORT=allure-report set QKF_HEADLESS=false
set QKF_TEST_TIMEOUT_MS=120000
REM --- Clean previous output --- set QKF_BASE_URL=http://localhost:3000
if exist "%GENERATED_DIR%" (
echo Cleaning generated specs... REM ----------------------------
rmdir /s /q "%GENERATED_DIR%" REM Paths
) REM ----------------------------
set FEATURES_DIR=features
if exist "%ALLURE_RESULTS%" ( set GENERATED_DIR=test\generated
echo Cleaning Allure results... set ALLURE_RESULTS=allure-results
rmdir /s /q "%ALLURE_RESULTS%" set ALLURE_REPORT=allure-report
)
REM ----------------------------
if exist "%ALLURE_REPORT%" ( REM Node dependencies
echo Cleaning Allure report... REM ----------------------------
rmdir /s /q "%ALLURE_REPORT%" if not exist "node_modules" (
) echo.
echo node_modules not found — running npm install...
REM --- Generate specs --- npm install
echo. if errorlevel 1 (
echo [1/3] Generating specs from Gherkin... echo ❌ npm install failed
node scripts\transform.js --features "%FEATURES_DIR%" --verbose exit /b 1
)
if errorlevel 1 ( ) else if "%FORCE_INSTALL%"=="true" (
echo ❌ Spec generation failed echo.
exit /b 1 echo --install flag detected — running npm install...
) npm install
if errorlevel 1 (
REM --- Run tests --- echo ❌ npm install failed
echo. exit /b 1
echo [2/3] Running Mocha + Selenium + Allure... )
npx mocha ^ ) else (
--timeout %QKF_TEST_TIMEOUT_MS% ^ echo.
--reporter allure-mocha ^ echo node_modules already present — skipping npm install
"%GENERATED_DIR%\*.spec.js" )
if errorlevel 1 ( REM ----------------------------
echo ⚠️ Tests finished with failures (continuing to report generation) REM Clean previous output
) REM ----------------------------
if exist "%GENERATED_DIR%" (
REM --- Generate Allure report --- echo Cleaning generated specs...
echo. rmdir /s /q "%GENERATED_DIR%"
echo [3/3] Generating Allure report... )
allure generate "%ALLURE_RESULTS%" -o "%ALLURE_REPORT%" --clean
if exist "%ALLURE_RESULTS%" (
if errorlevel 1 ( echo Cleaning Allure results...
echo ❌ Allure report generation failed rmdir /s /q "%ALLURE_RESULTS%"
exit /b 1 )
)
if exist "%ALLURE_REPORT%" (
REM --- Open report --- echo Cleaning Allure report...
echo. rmdir /s /q "%ALLURE_REPORT%"
echo Opening Allure report... )
allure open "%ALLURE_REPORT%"
REM ----------------------------
echo. REM Generate specs
echo ✅ Done. REM ----------------------------
endlocal echo.
echo [1/4] Generating specs from Gherkin...
node scripts\transform.js --features "%FEATURES_DIR%" --verbose
if errorlevel 1 (
echo ❌ Spec generation failed
exit /b 1
)
REM ----------------------------
REM Run tests
REM ----------------------------
echo.
echo [2/4] Running Mocha + Selenium + Allure...
npx mocha ^
--timeout %QKF_TEST_TIMEOUT_MS% ^
--reporter allure-mocha ^
"%GENERATED_DIR%\*.spec.js"
if errorlevel 1 (
echo ⚠️ Tests finished with failures (continuing to report generation)
)
REM ----------------------------
REM Generate Allure report
REM ----------------------------
echo.
echo [3/4] Generating Allure report...
allure generate "%ALLURE_RESULTS%" -o "%ALLURE_REPORT%" --clean
if errorlevel 1 (
echo ❌ Allure report generation failed
exit /b 1
)
REM ----------------------------
REM Open Allure report
REM ----------------------------
echo.
echo [4/4] Opening Allure report...
allure open "%ALLURE_REPORT%"
echo.
echo ✅ Done.
endlocal