Skip to content

Instantly share code, notes, and snippets.

@djangofan
Last active December 18, 2015 23:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save djangofan/5862361 to your computer and use it in GitHub Desktop.
Save djangofan/5862361 to your computer and use it in GitHub Desktop.
An example of setting up environment before calling SoapUI testrunner.bat ...
@ECHO off
SET NAME=%~nx0
SET PROJECT_DIR=%~dp0
SET "SUITE_NAME=My Suite"
SET "TEST_NAME=My Test"
SET TITLETEXT=Script %NAME% running in %PROJECT_DIR%
TITLE %TITLETEXT%
ECHO %TITLETEXT%
:: Expected to have 12 test assertions pass
SET /A PASSED=0
SET /A FAILED=12
CALL cleanUp.bat
:: changes SOAPUI_HOME to have a /bin on the end for SoapUI compatability
CALL setEnv.bat
:: It's very important that the -R option is set for every separate SoapUI test
:: suite so that results from one test do not overwrite another result from another
:: suite in this project.
ECHO Checking if ^"%SOAPUI_HOME%soapui-pro-4.5.2.jar^" exists.
IF EXIST "%SOAPUI_HOME%soapui-pro-4.5.2.jar" (
SET "PRO_ARGS=-F"HTML" -R"Query-Simp-Reg-On""
) ELSE (
SET PRO_ARGS=
)
:: The SmokeTest TestSuite is the main suite to validate these tests
SET "ARGUMENTS=-s"%SUITE_NAME%" -c"%TEST_NAME%" -r -a -j"
SET "ARGUMENTS=%ARGUMENTS% -h"%HOSTPORT%" -f"junit-results" %PRO_ARGS% %SUITE_NAME%-soapui-project.xml"
ECHO -----------------------------------------------------
ECHO -- Running soapui testcase runner ...
ECHO -- Project dir: %PROJECT_DIR%
ECHO -- SoapUI home: %SOAPUI_HOME%
ECHO -- JAVA_HOME: %JAVA_HOME%
ECHO -- PRO_ARGS: %PRO_ARGS%
ECHO -- Command: [%SOAPUI_HOME%testrunner.bat %ARGUMENTS%]
ECHO -----------------------------------------------------
ECHO.
ECHO Running...
CALL "%SOAPUI_HOME%testrunner.bat" %ARGUMENTS%
IF %ERRORLEVEL% GEQ 1 ECHO Test runner returned an error code.
:: Backup soapui.log
TYPE soapui.log >soapui-out.log
:: Get and increment global PASSED variable and decrement FAILED variable
TYPE soapui-out.log | FIND /C "has status VALID" > passed.num
SET /P PASSNUM=<passed.num
SET /A PASSNUM=%PASSNUM%
IF EXIST passed.num DEL /Q passed.num
SET /A PASSED=%PASSED%+%PASSNUM%
SET /A FAILED=%FAILED%-%PASSNUM%
IF %PASSED% LSS 8 (
ECHO At least one test failed. Only %PASSED% passed.
EXIT /B 1
) ELSE (
ECHO All tests passed.
EXIT /B 0
)
GOTO :END
:ERROR
ECHO There was an error in the %NAME% script.
PING.exe -n 5 -w 1000 127.1>nul
:END
ECHO Result of %NAME% : PASSNUM=%PASSNUM%, FAILED=%FAILED%, PASSED=%PASSED%
ECHO Script %NAME% is ended.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment