Last active
December 18, 2015 23:29
-
-
Save djangofan/5862361 to your computer and use it in GitHub Desktop.
An example of setting up environment before calling SoapUI testrunner.bat ...
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@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