Update run.bat
This commit is contained in:
206
run.bat
206
run.bat
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user