Continuous Integration

From STIQ
Jump to: navigation, search

If you employ Continuous Integration (a.k.a. CI) in your environment, there is a way that you can integrate your STIQ tests into your CI process.


Ant Script configuration

When you download STIQ, it includes runner.xml (was build.xml prior to RC4) that makes use of the HTML Suite feature in Selenium Remote Control (included in the binary distribution of STIQ).

In order for this to work the following steps need to be taken

  • Steps in bold must be performed by you.
  • Steps prefaced with STIQ are performed by STIQ and require no action on your part.


  1. Modify runner.xml to match your environment. The parameters that should be adjusted are:
    • "repositoryPath" value="repository"
    • "port" value="9898"
    • "suiteWikiPagePath" value="FrameworkTests.NewFeatures.ContinuousIntegration"
    • "outputDir" value="ExportedSuite"
    • "browserType" value="*chrome" (values are described here.)
    • "startUrl" value="http://www.google.com"
    • "suiteFile" value="${outputDir}/${suiteWikiPagePath}.html"
    • "resultFile" value="${outputDir}/seleniumRcResult.html"
  2. Include a call to the ant script in your CI environment.
    • ant executeSuiteSeleniumRC
  3. STIQ: Export STIQ suite to html files.
  4. STIQ: Run SeleniumRC using the exported files.
  5. Archive the result file.

SQL Command within STIQ CI environment

If using SQL Command in STIQ test while running STIQ within a CI environment, (Selenium RC execution) one must run a STIQ server to allow Selenium RC to pass the SQL command to the STIQ server for execution. This configuration is done within the file:

.../repository/extensions/project-extensions.js

Look for this section and set the host and port for your STIQ server

// When SQL Commands execute for a test running in Selenium RC, 
// they will do so against a STIQ server at the following address:
var baseUrlInSeleniumRc = "http://localhost:9001/";


The STIQ server must be running when the CI environment runs the Selenium RC commands. An issue exist with starting and stoping the STIQ server via Ant Task. It is very difficult to start the STIQ server which must continue to run (spawn process) and then have the handle to stop the spawned process (kill the STIQ server). One workaround is to leave a STIQ server up and running just to process the SQL command executions for the CI Selenium RC processes on a different port than will be used by other STIQ servers.

Known Bugs with Selenium RC

Bug.gif

The *iehta browser mode does not currently work in Selenium RC.
For details visit Selenium RC Issue SRC-388: -htmlSuite *iehta "Permission denied" runtime error.