run-tests.selenium.cmd 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  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. echo SELENIUM_HOME=%SELENIUM_HOME%
  25. set Browser=C:\Program Files\Internet Explorer\iexplore.exe
  26. set HTTPServer=http://localhost:8080
  27. set SeleniumURL=%HTTPServer%/Selenium
  28. rem =================================================
  29. set startDate=%date%
  30. set startTime=%time%
  31. set sdy=%startDate:~10%
  32. set /a sdm=1%startDate:~4,2% - 100
  33. set /a sdd=1%startDate:~7,2% - 100
  34. set /a sth=%startTime:~0,2%
  35. set /a stm=1%startTime:~3,2% - 100
  36. set /a sts=1%startTime:~6,2% - 100
  37. set TIMESTAMP=%sdy%_%sdm%_%sdd%_%sth%_%stm%
  38. set ResultsURL=/PostResults
  39. set ResultsDir=FuncTests%TIMESTAMP%
  40. set OUTPUT_FILE_PREFIX=SystemWebExtensionsSelenium
  41. set COMMON_PREFIX=%cd%\%TIMESTAMP%_%OUTPUT_FILE_PREFIX%.GH_%GH_VERSION%.1.%USERNAME%
  42. set SELENIUM_OUTPUT_XML=%COMMON_PREFIX%.xml
  43. set BUILD_LOG=%COMMON_PREFIX%.build.log
  44. set RUN_LOG=%COMMON_PREFIX%.run.log
  45. rem DEPLOY SELENIUM WITH TESTS TO SERVER
  46. rem ====================================
  47. if DEFINED SKIP_SELENIUM goto after_selenium
  48. echo Deploying Selenium
  49. call %SELENIUM_HOME%\DeploySelenium.cmd "Tomcat" "%SELENIUM_HOME%\TomcatDeploy.cmd" "http://admin:admin@localhost:8080" >>%BUILD_LOG% 2<&1
  50. :after_selenium
  51. rem BUILD APPLICATION UNDER TEST
  52. rem ============================================
  53. if DEFINED SKIP_APP goto after_app
  54. pushd Test\AUT
  55. echo Building %cd%\SystemWebExtensionsAUT.JavaEE.csproj
  56. del /F /Q bin_Java\deployedFiles bin_Java\outputFiles.list
  57. msbuild SystemWebExtensionsAUT.JavaEE.csproj /t:Rebuild /t:Deploy /p:Configuration=Debug_Java >>%BUILD_LOG% 2<&1
  58. IF %ERRORLEVEL% NEQ 0 GOTO BUILD_EXCEPTION
  59. popd
  60. :after_app
  61. if DEFINED SKIP_TESTS goto after_tests
  62. echo Running Functional Test Suites
  63. mkdir %ResultsDir%
  64. type %SELENIUM_HOME%\SeleniumTestResultsHead.txt >%SELENIUM_OUTPUT_XML%
  65. wget -O .\nul "%HTTPServer%%ResultsURL%/Default.ashx" >>%RUN_LOG% 2<&1
  66. wget -O "%ResultsDir%\selenium-test.css" "%HTTPServer%%ResultsURL%/selenium-test.css" >>%RUN_LOG% 2<&1
  67. rem RUN THE TEST SUITES ONE AFTER THE OTHER
  68. rem ============================================
  69. call :executeTestSuite /SystemWebExtensionsAUT/Selenium/System.Web.UI/UpdatePanel/UpdatePanelTestSuite.html
  70. call :executeTestSuite /SystemWebExtensionsAUT/Selenium/Sys.WebForms/PageRequestManager/PageRequestManagerTestSuite.html
  71. call :executeTestSuite /SystemWebExtensionsAUT/Selenium/QuickStarts/QuickStartTestSuite.html
  72. rem ADD MORE TEST SUITES ABOVE THIS LINE
  73. rem ====================================
  74. type %SELENIUM_HOME%\SeleniumTestResultsTail.txt >>%SELENIUM_OUTPUT_XML%
  75. :after_tests
  76. goto afterExecuteTestSuite
  77. rem INTERNAL SCRIPT FUNCTION TO RUN SPECIFIC TEST SUITE
  78. rem ===================================================
  79. :executeTestSuite
  80. set TestSuiteRelativePath=%1
  81. set SuiteName=%~n1
  82. set ResultsAsXML=%ResultsDir%\%SuiteName%Results.xml
  83. set ResultsAsHtml=%ResultsDir%\%SuiteName%Results.html
  84. echo Test suite: %SuiteName%
  85. echo Test suite: %SuiteName% >>%RUN_LOG% 2<&1
  86. "%Browser%" "%SeleniumURL%/core/TestRunner.html?test=%TestSuiteRelativePath%&auto=true&close=on&multiWindow=off&resultsUrl=%ResultsURL%/Default.ashx"
  87. if NOT %ResultsAsXML%=="" (
  88. wget -O "%ResultsAsXML%" "%HTTPServer%%ResultsURL%/GetLastResults.ashx" >>%RUN_LOG% 2<&1
  89. type "%ResultsAsXML%" >>%SELENIUM_OUTPUT_XML%
  90. )
  91. if NOT %ResultsAsHtml%=="" (
  92. wget -O "%ResultsAsHtml%" "%HTTPServer%%ResultsURL%/GetLastResults.ashx?Html" >>%RUN_LOG% 2<&1
  93. )
  94. exit /B
  95. goto END
  96. :BUILD_EXCEPTION
  97. @echo Error in building solutions. See %BUILD_LOG% for details...
  98. REM EXIT 1
  99. GOTO END
  100. :afterExecuteTestSuite
  101. :END
  102. endlocal