Child pages
  • TestComplete Support Plugin
Skip to end of metadata
Go to start of metadata

About

A SmartBear plugin for running TestComplete tests from Jenkins. The plugin provides a build step that lets you include TestComplete tests in your Jenkins builds. Also, the plugin maintains a list of test runs and lets you view test results directly from within Jenkins.

View TestComplete support plug-in on the plugin site for more information.

Usage

  1. Prepare a test computer (node) for automated testing. Make sure the node has everything it needs to run tests successfully:
    • It has TestComplete or TestExecute installed.
    • It has required browsers, test data files, and other helper files and applications.
    • If you have a desktop tested application, make sure the node has that application installed before the TestComplete tests start working.
      To copy files to the node, you can use the CopyToSlavePlugin, or copy the files manually.
       
  2. Add the TestComplete Test step to your Jenkins build.
     
  3. Customize the step’s properties:
    • Select the test runner: TestComplete or TestExecute.
    • Specify the TestComplete project suite file and select tests to be run.
    • Important: Select the Run interactive user session check box, if needed (see below), and specify additional parameters for the run.
       
  4. Run the build as you would normally do this.
     
  5. After the build run is completed is over, you will see the TestComplete Test Results link on the build’s page.
    Click the link to view test results. In the subsequent screen, click the link in the Test column to explore detailed test results.

Important

The node must run an interactive user session. Otherwise, TestComplete (or TestExecute) will be unable to interact with the UI of the application under test.
To create an interactive user session:

  • If you use TestComplete 10.6 or later, we recommend that you select the Run interactive user session check box in the TestComplete Test’s properties.
  • If you unable to use this approach for some reason, then an alternative to run an interactive user session is to launch the node and control it via Java Web Start.

    If the check box is not selected and you control the node via the Windows service, TestComplete will not run in an interactive user session and your tests will most likely fail.


More Information

You can find complete information on using the plugin in TestComplete documentation.


Technical Support

If you have any questions or need assistance with setting up the plugin and configuring the step’s properties, please contact the SmartBear Support Team.


Version History

Version 1.9
  • New feature: Support for TestComplete/TestExecute x64. If you have the 64-bit version of TestComplete (or TestExecute) installed on the node, the plugin will use it to run tests.
Version 1.8
  • New feature: You can specify a screen resolution for interactive sessions in which the test step will run your TestComplete tests.
Version 1.7
  • New feature: Now you can use the test step to run tests in the CrossBrowserTesting cloud from your Jenkins nodes.
  • Fixed: If TestComplete logs contained national characters, these characters were processed incorrectly in JUnit-style reports.
Version 1.6
  • New feature: Support for TestComplete 12 and TestExecute 12.
Version 1.5
  • New feature: Now you can specify custom command-line arguments to pass to TestComplete or TestExecute.
  • Fixed: The plugin returned 0 as the exit code instead of the actual exit code that TestComplete or TestExecute returned.
Version 1.4
  • New feature: More detailed JUnit-style reports.
  • A couple of minor bugs have been fixed.
Version 1.3
  • New feature: Support for TestComplete 11 and TestExecute 11.
  • Fixed: It was impossible to run jobs with TestComplete Test steps on different nodes in parallel.
  • Fixed: The TestComplete Jenkins plugin worked incorrectly if a slave node was controlled via a service started from a JNLP application.
Version 1.2
  • New feature: Generating test reports in the MHT format.
  • New feature: Support for generating and publishing JUnit-style reports.
  • New feature: Now you can use Jenkins variables to configure the TestComplete Test step.
  • Fixed: An exception occurred when the TestComplete Test step was added to a Conditional Build Step.

6 Comments

  1. Hi,

    Firstly thank you for all the hard work in providing this really handy plugin. I'm just wondering if there are any plans to add support for TestExecute command line arguments? This would help users like me a lot, who use command line arguments for their automation tests.

    Thanks.

  2. Is it on the roadmap to extend this plugin for DSL usage( Job DSL Plugin)?

    1. In the meantime, you can directly add the step like this:

       

      job ->
      job / 'builders' << 'com.smartbear.jenkins.plugins.testcomplete.TcTestBuilder' {
      suite 'suite.pjs'
      launchType 'lcProject'
       project 'project'
      generateMHT true
       publishJUnitReports true
        useTCService true
       }
  3. There is a bug when running "KeywordTests".  The Jenkins Log shows it executes the command like /test:KeyWordTests|DeployTest

    When I execute this, I get "'DeployTest' is not recognized as an internal or external command, operable program or batch file."

    If you look at the command line documentation, it tells you to wrap the words in quotes, like  /test:"KeyWordTests|DeployTest"  When  I copy the command from Jenkins and run it in CmdShell myself with the quotes, it runs fine.  The problem is the Jenkins plugin automatically puts in the KeyWordTests so I cannot put quotes around it.  I can only put quotes around "DeployTest" and that errors out as well.

    I thought I could trick it by just running it as a PROJECT test and adding into the additional command line arguments my keyword test parameter, but apparently the quotes are getting stripped out of the command line.  When I look at the jenkins log, no quotes were sent down, even though I had them in my command line field.  I even went back to config and verified they are still there.  Something, somewhere, is stripping out the quotes.

     

  4. Has anyone been able to aggregate multiple TestComplete job JUnit results into a single report? To elaborate, we have eight Jenkins TestComplete projects that test the eight different configurations of our software and I would like to provide a means to collect and bundle all of the results into a single report that can be reviewed by our leadership rather than navigating to the latest build of each project and reviewing them individually.

    I was thinking you could use the 'Publish JUnit test result report' post-build task and pass it all of the xml result files created by TestComplete but it seems those xml files are discarded once the plugin creates the JUnit report for the job. Any suggestions would be a big help.

  5. Hi,

    It seems that, by default, the command line generated by this plug-in adds three ExportLog arguments. For example:

    /ExportLog:D:\Jenkins\agent\workspace\Optimiseur\QC\TestsWithInterfaces\StartTestExecute\324674.tclogx
    /ExportLog:D:\Jenkins\agent\workspace\Optimiseur\QC\TestsWithInterfaces\StartTestExecute\324674.htmlx
    /ErrorLog:D:\Jenkins\agent\workspace\Optimiseur\QC\TestsWithInterfaces\StartTestExecute\324674.txt

    Is there a way to permanently disable all ExportLog arguments?

    Thanks!

Write a comment…