The TestComplete Support plugin for Jenkins provides the TestComplete Test step you can use to run your TestComplete tests from Jenkins Pipelines. For example:
Declarative Pipeline
pipeline{
…
steps{
…
testcompletetest executorType:'TElite',
credentialsId: '',
launchType: 'lcItem',
test:'Test 1',
project: 'TestProject',
suite: 'TestProject\\TestProject.mds'
…
}
}
Scripted Pipeline
node {
…
testcompletetest executorType:'TElite',
credentialsId: '',
launchType: 'lcItem',
test:'Test 1',
project: 'TestProject',
suite: 'TestProject\\TestProject.mds'
…
}
This section describes the step syntax supported for running cross-platform web tests in device clouds in parallel.
suite
Required. Specifies the path to theTestComplete project suite that contains the tests you want to run. The path should be relative to the node’s working folder.
Type: string
actionOnErrors
Optional. Specifies whether Jenkins should mark the entire build as failed or unstable if the test log contains errors, or whether it should not mark the build in any special way. If the parameter is not specified, Jenkins will mark the build as unstable.
Type: string
Possible values: NONE
, MAKE_UNSTABLE
, MAKE_FAILED
Default value: MAKE_UNSTABLE
actionOnWarnings
Specifies whether Jenkins should mark the entire build as failed or unstable if the test log contains warnings, or whether it should not mark the build in any special way. If the parameter is not specified, Jenkins will not mark the build in any special way.
Type: string
Possible values: NONE
, MAKE_UNSTABLE
, MAKE_FAILED
Default value: NONE
commandLineArguments
Optional. Specifies arbitrary command-line arguments to be passed to the executable. To learn more about the TestExecute command line, see Running Tests in Parallel From Command Line.
Type: string
executorType
Optional. Specifies the product that the step will use for the test run. If several products are installed and the parameter is not specified, TestExecute will be used.
Note: The specified product must be installed on the node. If the 64-bit version of the product is available on the node, it will be used to run tests. Otherwise, the 32-bit version will be used.
Type: string
Possible values: TC
, TE
, TElite
.
Default value: TE
executorVersion
Optional. Specifies the product version to be used if several versions of the products are installed on the node. If the parameter is not specified, the latest installed version will be used.
Type: string
generateMHT
Optional. Specifies whether the test results will be exported to an .mht file. You can download this file from the TestComplete Test Results page of your build.
Type: boolean
Default value: false
launchType
Optional. Specifies which part of the TestComplete project suite will be run.
Type: string
Possible values:
-
lcSuite
- The default value. Runs the entire project suite (that is, all the enabled test items in all the enabled projects of that project suite). The required suite parameter specifies the needed project suite. -
lcProject
- Runs a project of the project suite. To specify the project name, use the project parameter:project
Required. Specifies the name of the project that contains the tests to run. The test runner will run all enabled test items of the specified project. You can view the list of test items in the Execution Plan editor of the project.
Type:
string
-
lcRoutine
- Runs a script routine. To specify the needed routine, use the following parameters:project
Required. Specifies the name of the project that contains the tests to run.
Type:
string
routine
Required. Specifies the name of the script routine to run (without the unit name).
Type:
string
unit
Required. Specifies the name of the script unit that contains the script routine to run.
Type:
string
-
lcKdt
- Runs a keyword test. To specify the needed test, use the following parameters:project
Required. Specifies the name of the project that contains the tests to run.
Type:
string
test
Required. Specifies the name of the keyword test to run. For example,
MyKDTest1
.Type:
string
lcCBT
- Not supported.Type:
string
-
lcItem
- Runs one of the following project items your project contains: a test item, a script routine, a keyword test, or a BDD scenario. To specify the items to run, use the following parameters:project
Required. Specifies the name of the project that contains the tests to run.
Type:
string
test
Required. Specifies the full path to the project item or test item to run. The vertical pipe character ( | ) is used as a separator.The path to your test must contain collection names only. Do not include the Advanced folder or any other project folder in the path.
Type:
string
-
lcTags
- Runs the project’s tests that match a tag or tag expression. To specify the project and the tag expression, use the following parameters:project
Required. Specifies the name of the project that contains the tests to run.
Type:
string
tags
Required. A tag or tag expression that specifies the tests to run.
Type:
string
publishJUnitReports
Optional. Specifies whether Jenkins will generate JUnit-style reports.
Note: | This JUnit-style report slightly differs from standard JUnit reports. To generate JUnit reports, use the /ExportSummary command-line argument. You can specify it using the commandLineArguments parameter. |
Type: boolean
Default value: true
useTCService
Type: boolean
useTimeout
Optional. Specifies whether Jenkins should wait for the test run to finish until the specified timeout is reached. If the test run is not over before the timeout is reached, Jenkins will mark the entire build as failed.
If the parameter is set to false
, the waiting time is infinite.
Type: boolean
Default value: false
To specify a timeout value, use the following parameter:
timeout
Optional. Specifies the maximum test run time, in seconds.
The timeout includes both the startup time of TestExecute and the test run time.
If the parameter is not specified, the waiting time is infinite.
Type: string
See Also
Running Cross-Platform Web Tests in Parallel by Using Jenkins