run-tests.cmd 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. @echo off
  2. setlocal
  3. :loop
  4. if "%1" == "" goto break
  5. if "%1" == "skip_selenium" (
  6. set SKIP_SELENIUM="True"
  7. )
  8. if "%1" == "skip_app" (
  9. set SKIP_APP="True"
  10. )
  11. if "%1" == "skip_tests" (
  12. set SKIP_TESTS="True"
  13. )
  14. shift /1
  15. goto loop
  16. :break
  17. rem SETUP ENVIRONMENT FOR RUNNING SELENIUM TESTS
  18. rem ============================================
  19. if "%VMW_HOME%" == "" set VMW_HOME=C:\Program Files\Mainsoft for Java EE
  20. if NOT "%SELENIUM_HOME%" == "" goto after_set_SELENIUM_HOME
  21. set SELENIUM_HOME=%~dp0
  22. set SELENIUM_HOME=%SELENIUM_HOME:class\System.Web.Extensions=selenium%
  23. :after_set_SELENIUM_HOME
  24. set Browser=C:\Program Files\Internet Explorer\iexplore.exe
  25. set HTTPServer=http://localhost:8090
  26. set SeleniumURL=%HTTPServer%/Selenium
  27. rem =================================================
  28. set startDate=%date%
  29. set startTime=%time%
  30. set sdy=%startDate:~10%
  31. set /a sdm=1%startDate:~4,2% - 100
  32. set /a sdd=1%startDate:~7,2% - 100
  33. set /a sth=%startTime:~0,2%
  34. set /a stm=1%startTime:~3,2% - 100
  35. set /a sts=1%startTime:~6,2% - 100
  36. set TIMESTAMP=%sdy%_%sdm%_%sdd%_%sth%_%stm%
  37. set ResultsURL=/PostResults
  38. set ResultsDir=FuncTests%TIMESTAMP%
  39. set OUTPUT_FILE_PREFIX=System_Web_Extensions
  40. set COMMON_PREFIX=%cd%\%TIMESTAMP%_%OUTPUT_FILE_PREFIX%.GH_%GH_VERSION%.1.%USERNAME%
  41. set SELENIUM_OUTPUT_XML=%COMMON_PREFIX%.xml
  42. set BUILD_LOG=%COMMON_PREFIX%.build.log
  43. set RUN_LOG=%COMMON_PREFIX%.run.log
  44. rem DEPLOY SELENIUM WITH TESTS TO SERVER
  45. rem ====================================
  46. if DEFINED SKIP_SELENIUM goto after_selenium
  47. echo Deploying Selenium
  48. call %SELENIUM_HOME%\DeploySelenium.cmd "Tomcat" "%SELENIUM_HOME%\TomcatDeploy.cmd" "http://admin:admin@localhost:8090" >>%BUILD_LOG% 2<&1
  49. :after_selenium
  50. rem BUILD APPLICATION UNDER TEST
  51. rem ============================================
  52. if DEFINED SKIP_APP goto after_app
  53. pushd Test\AUT
  54. echo Building %cd%\SystemWebExtensionsAUT.JavaEE.csproj
  55. del /F /Q bin_Java\deployedFiles bin_Java\outputFiles.list
  56. msbuild SystemWebExtensionsAUT.JavaEE.csproj /t:Deploy /p:Configuration=Debug_Java >>%BUILD_LOG% 2<&1
  57. popd
  58. :after_app
  59. if DEFINED SKIP_TESTS goto after_tests
  60. echo Running Functional Test Suites
  61. mkdir %ResultsDir%
  62. type %SELENIUM_HOME%\SeleniumTestResultsHead.txt >%SELENIUM_OUTPUT_XML%
  63. wget -O .\nul "%HTTPServer%%ResultsURL%/Default.ashx" >>%RUN_LOG% 2<&1
  64. wget -O "%ResultsDir%\selenium-test.css" "%HTTPServer%%ResultsURL%/selenium-test.css" >>%RUN_LOG% 2<&1
  65. rem RUN THE TEST SUITES ONE AFTER THE OTHER
  66. rem ============================================
  67. call :executeTestSuite /SystemWebExtensionsAUT/Selenium/System.Web.UI/UpdatePanel/UpdatePanelTestSuite.html
  68. call :executeTestSuite /SystemWebExtensionsAUT/Selenium/Sys.WebForms/PageRequestManager/PageRequestManagerTestSuite.html
  69. call :executeTestSuite /SystemWebExtensionsAUT/Selenium/QuickStarts/QuickStartTestSuite.html
  70. rem ADD MORE TEST SUITES ABOVE THIS LINE
  71. rem ====================================
  72. type %SELENIUM_HOME%\SeleniumTestResultsTail.txt >>%SELENIUM_OUTPUT_XML%
  73. :after_tests
  74. goto afterExecuteTestSuite
  75. rem INTERNAL SCRIPT FUNCTION TO RUN SPECIFIC TEST SUITE
  76. rem ===================================================
  77. :executeTestSuite
  78. set TestSuiteRelativePath=%1
  79. set SuiteName=%~n1
  80. set ResultsAsXML=%ResultsDir%\%SuiteName%Results.xml
  81. set ResultsAsHtml=%ResultsDir%\%SuiteName%Results.html
  82. echo Test suite: %SuiteName%
  83. echo Test suite: %SuiteName% >>%RUN_LOG% 2<&1
  84. "%Browser%" "%SeleniumURL%/core/TestRunner.html?test=%TestSuiteRelativePath%&auto=true&close=on&multiWindow=off&resultsUrl=%ResultsURL%/Default.ashx"
  85. if NOT %ResultsAsXML%=="" (
  86. wget -O "%ResultsAsXML%" "%HTTPServer%%ResultsURL%/GetLastResults.ashx" >>%RUN_LOG% 2<&1
  87. type "%ResultsAsXML%" >>%SELENIUM_OUTPUT_XML%
  88. )
  89. if NOT %ResultsAsHtml%=="" (
  90. wget -O "%ResultsAsHtml%" "%HTTPServer%%ResultsURL%/GetLastResults.ashx?Html" >>%RUN_LOG% 2<&1
  91. )
  92. exit /B
  93. :afterExecuteTestSuite
  94. endlocal