soatest:soatest

Full name:

com.parasoft:soatest-maven-plugin:1.0.1:soatest

Description:

Executes Parasoft SOAtest test suites with soatestcli.

Attributes:

  • Requires a Maven project to be executed.
  • The goal is thread-safe and supports parallel builds.
  • Binds by default to the lifecycle phase: integration-test.

Required Parameters

Name Type Since Description
<config> String - Specifies the test configuration to execute the tests. For example, "soatest.builtin://Demo Configuration"
User Property: soatest.config

Optional Parameters

Name Type Since Description
<appconsole> String - Specifies where to print the text that would be shown in the Console view in the UI. Use stdout to print to STDOUT. Otherwise, the value is interpreted as a file path.
User Property: soatest.appconsole
<data> File - Specifies the location of the Eclipse workspace to use for executing the tests. Defaults to a temporary directory.
User Property: soatest.data
<dataGroupConfig> File -

Specifies the active data source within a data group. This parameter must be set to the location of an XML file that specifies the active data source for each data group within each .tst file contained in the test run. The XML file must use the following format:

<tests>
 <test> <!--1 or more-->
    <workspacePath></workspacePath>
    <dataGroups>
      <dataGroup> <!--1 or more-->
        <dataGroupName></dataGroupName>
        <activeDataSourceName></activeDataSourceName>
      </dataGroup>
    </dataGroups>
  </test>
</tests>

The <workspacePath> element for datagroupConfig and environmentConfig should contain the path to the resource (for example, .tst) in the workspace, not the path on the file system. You can right-click the .tst file in the SOAtest UI and choose Properties to get the correct path to the resource.


User Property: soatest.datagroupconfig
<dataSourceName> String - Specifies the name of the data source associated with the test(s) you want to run. See dataSourceRow for additional information.
User Property: soatest.datasourcename
<dataSourceRow> String - Runs all tests with the specified data source rows(s). You can specify a list of row numbers or row ranges. The following values are examples of valid values:
  • 5
  • 1,2,5
  • 3-9
  • 2-5,7,20-30
You can also specify all as the value to force all data source rows to be used, even if the data sources were saved to use only specific rows. You can use the dataSourceName parameter to specify which data source contains the row associated with the tests you want to execute.
User Property: soatest.datasourcerow
<environment> String -

Specifies the name of the SOAtest environment to use for executing the tests. An environment in SOAtest is a set of variables that define endpoints and other test-specific inputs. SOAtest environments should not be confused with environment entities as described in Virtualize and Continuous Testing Platform.

When running functional tests from the command line, you can override the active environment specified in a project with one specified from the parameters. Note that if the specified environment is not found in the project, the default active environment will be used instead.


User Property: soatest.environment
<environmentConfig> File -

Specifies the active environment variables. This parameter must be set to the location of an XML file that specifies the environment variable values to use for each .tst file contained in the test run. The XML file must use the following format:

<tests>
  <test> <!--1 or more-->
    <workspacePath></workspacePath>
    <Environment>
      <Variable> <!--1 or more-->
        <Name></Name>
        <Value></Value>
      </Variable>
    </Environment>
  </test>
</tests>

The <workspacePath> element for datagroupConfig and environmentConfig should contain the path to the resource (for example, .tst) in the workspace, not the path on the file system.

You can right-click the .tst file in the SOAtest UI and choose Properties to get the correct path to the resource.


User Property: soatest.environmentconfig
<excludes> List<String> - Filenames, paths to files, or patterns that matches filenames to be excluded during testing. The pattern matching syntax is similar to that of Ant file sets. You can also specify a list of patterns by adding them to a .lst file. Example:
<excludes>
  <exclude>tests1/*.tst</exclude>
  <exclude>**/Test2.tst</exclude>
</excludes>

User Property: soatest.excludes
<fail> boolean - Fails the build by returning a non-zero exit code if any violations are reported.
Default: false
User Property: soatest.fail
<impactedTests> File - Runs tests impacted by change. Parameter value specifies a path to the baseline coverage report.
User Property: soatest.impactedtests
<import> List<File> - The locations of projects to import into the workspace prior to executing tests. Defaults to ${project.basedir}. Example:
<import>
  <project>${user.home}/projects/project1</project>
  <project>${user.home}/projects/project2</project>
</import>

User Property: soatest.import
<includes> List<String> - Filenames, paths to files, or patterns that matches filenames to be included during testing. The pattern matching syntax is similar to that of Ant file sets. You can also specify a list of patterns by adding them to a .lst file. Example:
<includes>
  <include>tests1/*.tst</include>
  <include>**/Test2.tst</include>
</includes>

User Property: soatest.includes
<javaHome> File - Specifies an alternative Java runtime for starting SOAtest.
User Property: soatest.javahome
<nobuild> boolean - Disables building of projects before executing the tests.
Default: false
User Property: soatest.nobuild
<noImport> boolean - Skip importing projects into the workspace.
Default: false
User Property: soatest.noimport
<prefs> String -

Specifies an Eclipse workspace preferences file to import. The specified value is interpreted as a URL or the path to a local Eclipse workspace preferences file. The best way to create a workspace preferences file is to use the Export wizard. To do this:

  1. Go to File > Export.
  2. In the Export Wizard, choose Preferences and click Next.
  3. Do one of the following:
    • To add all of the preferences to the file, choose Export all.
    • To add only specified preferences to the file, choose Choose specific preferences to export and enable the preferences you want to import.
  4. Click Browse... and indicate where you want the preferences file saved.
  5. Click Finish.

We recommend deleting properties that are not applicable to SOAtest and keeping only critical properties, such as the classpath property. We also recommend that you replace machine/user-specific locations with variables by using the $(VAR) notation. These variables will be replaced with the corresponding Java properties, which can be set at runtime by running soatestcli with -J-D options (for example soatestcli -J-DHOME=/home/user).

Examples:
  • -prefs "http://intranet.acme.com/SOAtest/workspace.properties"
  • -prefs "workspace.properties"

User Property: soatest.prefs
<properties> Map<String,String> - Allows you to configure settings directly. Settings passed with this parameter will overwrite those with the same key that are specified using the settings parameter. Example:
<properties>
  <report.dtp.publish>true</report.dtp.publish>
  <techsupport.auto_creation>true</techsupport.auto_creation>
</properties>
<publish> boolean - Enables publishing reports to DTP Report Center. DTP 5.3.x or later is required. The connection to DTP is configured in the settings file.
Default: false
User Property: soatest.publish
<refresh> boolean - Refreshes the workspace, forcing it to resync with the file system.
Default: false
User Property: soatest.refresh
<report> File -

Generates a report and saves it with the name and path specified. The report includes an XML file containing the report data, as well as HTML file for presenting the data. You can also configure SOAtest to generate a report in PDF or custom formats by specifying them in the report.format option. The option is specified in the settings file (see settings). If a path is not included as part the specified value, the report will be generated in the execution directory.

All of the following parameters will produce an HTML report filename.html and an XML report filename.xml.

  • <report>filename.xml</report>
  • <report>filename.htm</report>
  • <report>filename.html</report>

If the specified path ends with an ".html"/".htm"/".xml" extension, it will be treated as a path to the report file to generate. Otherwise, it will be treated as a path to a directory where reports should be generated.

If the file name is explicitly specified in the parameter and a file with this name already exists in the specified location, the previous report will be overwritten. If your parameter doesn’t explicitly specify a file name, the existing report file will not be overwritten; the new file will be named repXXXX.html, where XXXX is a random number.

If the report parameter is not specified, reports will be generated with the default names "report.xml"/"html" in the current directory.


User Property: soatest.report
<resources> List<String> -

Specifies the path to the test suite(s) to run. To run a single test suite, specify the path to the .tst relative to the workspace. To run all test suites within a directory, specify the directory path relative to the workspace. Use multiple resource parameters to specify multiple resources. All paths, including absolute paths, are relative to the workspace specified by the soatest.data parameter.

You can specify the following types of resources:

.tst file Specify the path to a .tst file to execute all tests contained
directory Specify the path to a directory in the workspace to execute all test suites in the directory.
.properties file Specify the path to a .properties file and the value configured for the com.parasoft.xtest.checkers.resources property in the file will be interpreted as a colon-separated list of resources. Only one .properties file can be specified in this way.
.lst file Specify the path to a .lst file and each line in the file will be treated as a resource. If no resources are specified on the command line, the complete workspace will be tested.
Team Project Set File (PSF) PSFs are supported for SVN and other source systems, depending on the Eclipse plug-in capabilities installed.

Examples:

<resources>
  <resource>Acme Project</resource>
  <resource>/MyProject/tests/acme</resource>
  <resource>testedprojects.properties</resource>
</resources>

If you are specifying multiple tests from different projects, tests will be grouped project-by-project, in the order specified in the multiple resource parameters or in the .lst file.

All tests in the same project as the first resource will be run before any tests in a different project. If you specify resources in the order the following order, for example:

/ProjectA/A.tst, /ProjectB/B.tst, /ProjectA/C.tst

they will be executed in the following order:

  1. /ProjectA/A.tst
  2. /ProjectA/C.tst
  3. /ProjectB/B.tst

User Property: soatest.resources
<settings> File - Specifies the path to the .properties file that includes custom configuration settings.
User Property: soatest.settings
<showdetails> boolean - Prints detailed test progress information to the console.
Default: false
User Property: soatest.showdetails
<showsettings> boolean - Prints the current settings and customizations along with information regarding where they are configured (for example, in the settings.properties file).
Default: false
User Property: soatest.showsettings
<skip> boolean - Skips running SOAtest.
Default: false
User Property: soatest.skip
<soatestHome> File - Specifies the location of the Parasoft SOAtest installation.
Default: ${env.SOATEST_HOME}
User Property: soatest.home
<test> String - Specifies a .tst file name, path or pattern to be executed during testing. This pattern is added to the includes list, which is useful for debugging tests.
User Property: soatest.test
<testFilters> List<TestFilter> -

Specifies a testName parameter that matches the name of a test to run. SOAtest searches for tests in the resource that contain the string specified, but programmatic pattern matching, such as wildcards or regex, is not performed.

In the following example, a test or test suite named WSDL Tests will run:

<testFilters>
  <testFilter>
     <testName>WSDL Tests</testName>
  </testFilter>
</testFilters>

You can use more than one testFilter parameter to specify multiple tests: Use the substringMatch optional parameter to search for tests containing a specific string. In the following example, any tests that contain the string MyTest will run:

<testFilters>
  <testFilter>
     <testName>MyTest</testName>
     <substringMatch>true</substringMatch>
  </testFilter>
  <testFilter>
     ...
  </testFilter>
</testFilters>

If the test uses data from a data source, you can use the dataSourceRow and dataSourceName optional parameter to limit the range of data rows used to execute the test. for example:

<testFilters>
  <testFilter>
     <testName>MyTest</testName>
     <substringMatch>true</substringMatch>
     <dataSourceName>MyData</dataSourceName>
     <dataSourceRow>1</dataSourceRow>
  </testFilter>
</testFilters>

The value for the dataSourceRow parameter can be specified as a single row. The following values are examples of valid values:

  • 5
  • 1,2,5
  • 3-9
  • 2-5,7,20-30
<vmArgs> List<String> - Specifies additional JVM options. Example:
<vmArgs>
  <vmArg>-Xmx8g</vmArg>
  <vmArg>-Dssl.debug=true</vmArg>
</vmArgs>

User Property: soatest.vmargs
<workItems> List<String> - Limit the test scope to the resources that are associated with specific work items. Specify a list of work item IDs. Example:
<workItems>
  <workItem>TEST-7140</workItem>
  <workItem>TEST-16447</workItem>
</workItems>

User Property: soatest.workitems

Parameter Details

<appconsole>

Specifies where to print the text that would be shown in the Console view in the UI. Use stdout to print to STDOUT. Otherwise, the value is interpreted as a file path.
  • Type: java.lang.String
  • Required: No
  • User Property: soatest.appconsole

<config>

Specifies the test configuration to execute the tests. For example, "soatest.builtin://Demo Configuration"
  • Type: java.lang.String
  • Required: Yes
  • User Property: soatest.config

<data>

Specifies the location of the Eclipse workspace to use for executing the tests. Defaults to a temporary directory.
  • Type: java.io.File
  • Required: No
  • User Property: soatest.data

<dataGroupConfig>

Specifies the active data source within a data group. This parameter must be set to the location of an XML file that specifies the active data source for each data group within each .tst file contained in the test run. The XML file must use the following format:

<tests>
 <test> <!--1 or more-->
    <workspacePath></workspacePath>
    <dataGroups>
      <dataGroup> <!--1 or more-->
        <dataGroupName></dataGroupName>
        <activeDataSourceName></activeDataSourceName>
      </dataGroup>
    </dataGroups>
  </test>
</tests>

The <workspacePath> element for datagroupConfig and environmentConfig should contain the path to the resource (for example, .tst) in the workspace, not the path on the file system. You can right-click the .tst file in the SOAtest UI and choose Properties to get the correct path to the resource.

  • Type: java.io.File
  • Required: No
  • User Property: soatest.datagroupconfig

<dataSourceName>

Specifies the name of the data source associated with the test(s) you want to run. See dataSourceRow for additional information.
  • Type: java.lang.String
  • Required: No
  • User Property: soatest.datasourcename

<dataSourceRow>

Runs all tests with the specified data source rows(s). You can specify a list of row numbers or row ranges. The following values are examples of valid values:
  • 5
  • 1,2,5
  • 3-9
  • 2-5,7,20-30
You can also specify all as the value to force all data source rows to be used, even if the data sources were saved to use only specific rows. You can use the dataSourceName parameter to specify which data source contains the row associated with the tests you want to execute.
  • Type: java.lang.String
  • Required: No
  • User Property: soatest.datasourcerow

<environment>

Specifies the name of the SOAtest environment to use for executing the tests. An environment in SOAtest is a set of variables that define endpoints and other test-specific inputs. SOAtest environments should not be confused with environment entities as described in Virtualize and Continuous Testing Platform.

When running functional tests from the command line, you can override the active environment specified in a project with one specified from the parameters. Note that if the specified environment is not found in the project, the default active environment will be used instead.

  • Type: java.lang.String
  • Required: No
  • User Property: soatest.environment

<environmentConfig>

Specifies the active environment variables. This parameter must be set to the location of an XML file that specifies the environment variable values to use for each .tst file contained in the test run. The XML file must use the following format:

<tests>
  <test> <!--1 or more-->
    <workspacePath></workspacePath>
    <Environment>
      <Variable> <!--1 or more-->
        <Name></Name>
        <Value></Value>
      </Variable>
    </Environment>
  </test>
</tests>

The <workspacePath> element for datagroupConfig and environmentConfig should contain the path to the resource (for example, .tst) in the workspace, not the path on the file system.

You can right-click the .tst file in the SOAtest UI and choose Properties to get the correct path to the resource.

  • Type: java.io.File
  • Required: No
  • User Property: soatest.environmentconfig

<excludes>

Filenames, paths to files, or patterns that matches filenames to be excluded during testing. The pattern matching syntax is similar to that of Ant file sets. You can also specify a list of patterns by adding them to a .lst file. Example:
<excludes>
  <exclude>tests1/*.tst</exclude>
  <exclude>**/Test2.tst</exclude>
</excludes>
  • Type: java.util.List<java.lang.String>
  • Required: No
  • User Property: soatest.excludes

<fail>

Fails the build by returning a non-zero exit code if any violations are reported.
  • Type: boolean
  • Required: No
  • User Property: soatest.fail
  • Default: false

<impactedTests>

Runs tests impacted by change. Parameter value specifies a path to the baseline coverage report.
  • Type: java.io.File
  • Required: No
  • User Property: soatest.impactedtests

<import>

The locations of projects to import into the workspace prior to executing tests. Defaults to ${project.basedir}. Example:
<import>
  <project>${user.home}/projects/project1</project>
  <project>${user.home}/projects/project2</project>
</import>
  • Type: java.util.List<java.io.File>
  • Required: No
  • User Property: soatest.import

<includes>

Filenames, paths to files, or patterns that matches filenames to be included during testing. The pattern matching syntax is similar to that of Ant file sets. You can also specify a list of patterns by adding them to a .lst file. Example:
<includes>
  <include>tests1/*.tst</include>
  <include>**/Test2.tst</include>
</includes>
  • Type: java.util.List<java.lang.String>
  • Required: No
  • User Property: soatest.includes

<javaHome>

Specifies an alternative Java runtime for starting SOAtest.
  • Type: java.io.File
  • Required: No
  • User Property: soatest.javahome

<nobuild>

Disables building of projects before executing the tests.
  • Type: boolean
  • Required: No
  • User Property: soatest.nobuild
  • Default: false

<noImport>

Skip importing projects into the workspace.
  • Type: boolean
  • Required: No
  • User Property: soatest.noimport
  • Default: false

<prefs>

Specifies an Eclipse workspace preferences file to import. The specified value is interpreted as a URL or the path to a local Eclipse workspace preferences file. The best way to create a workspace preferences file is to use the Export wizard. To do this:

  1. Go to File > Export.
  2. In the Export Wizard, choose Preferences and click Next.
  3. Do one of the following:
    • To add all of the preferences to the file, choose Export all.
    • To add only specified preferences to the file, choose Choose specific preferences to export and enable the preferences you want to import.
  4. Click Browse... and indicate where you want the preferences file saved.
  5. Click Finish.

We recommend deleting properties that are not applicable to SOAtest and keeping only critical properties, such as the classpath property. We also recommend that you replace machine/user-specific locations with variables by using the $(VAR) notation. These variables will be replaced with the corresponding Java properties, which can be set at runtime by running soatestcli with -J-D options (for example soatestcli -J-DHOME=/home/user).

Examples:
  • -prefs "http://intranet.acme.com/SOAtest/workspace.properties"
  • -prefs "workspace.properties"
  • Type: java.lang.String
  • Required: No
  • User Property: soatest.prefs

<properties>

Allows you to configure settings directly. Settings passed with this parameter will overwrite those with the same key that are specified using the settings parameter. Example:
<properties>
  <report.dtp.publish>true</report.dtp.publish>
  <techsupport.auto_creation>true</techsupport.auto_creation>
</properties>
  • Type: java.util.Map<java.lang.String, java.lang.String>
  • Required: No

<publish>

Enables publishing reports to DTP Report Center. DTP 5.3.x or later is required. The connection to DTP is configured in the settings file.
  • Type: boolean
  • Required: No
  • User Property: soatest.publish
  • Default: false

<refresh>

Refreshes the workspace, forcing it to resync with the file system.
  • Type: boolean
  • Required: No
  • User Property: soatest.refresh
  • Default: false

<report>

Generates a report and saves it with the name and path specified. The report includes an XML file containing the report data, as well as HTML file for presenting the data. You can also configure SOAtest to generate a report in PDF or custom formats by specifying them in the report.format option. The option is specified in the settings file (see settings). If a path is not included as part the specified value, the report will be generated in the execution directory.

All of the following parameters will produce an HTML report filename.html and an XML report filename.xml.

  • <report>filename.xml</report>
  • <report>filename.htm</report>
  • <report>filename.html</report>

If the specified path ends with an ".html"/".htm"/".xml" extension, it will be treated as a path to the report file to generate. Otherwise, it will be treated as a path to a directory where reports should be generated.

If the file name is explicitly specified in the parameter and a file with this name already exists in the specified location, the previous report will be overwritten. If your parameter doesn’t explicitly specify a file name, the existing report file will not be overwritten; the new file will be named repXXXX.html, where XXXX is a random number.

If the report parameter is not specified, reports will be generated with the default names "report.xml"/"html" in the current directory.

  • Type: java.io.File
  • Required: No
  • User Property: soatest.report

<resources>

Specifies the path to the test suite(s) to run. To run a single test suite, specify the path to the .tst relative to the workspace. To run all test suites within a directory, specify the directory path relative to the workspace. Use multiple resource parameters to specify multiple resources. All paths, including absolute paths, are relative to the workspace specified by the soatest.data parameter.

You can specify the following types of resources:

.tst file Specify the path to a .tst file to execute all tests contained
directory Specify the path to a directory in the workspace to execute all test suites in the directory.
.properties file Specify the path to a .properties file and the value configured for the com.parasoft.xtest.checkers.resources property in the file will be interpreted as a colon-separated list of resources. Only one .properties file can be specified in this way.
.lst file Specify the path to a .lst file and each line in the file will be treated as a resource. If no resources are specified on the command line, the complete workspace will be tested.
Team Project Set File (PSF) PSFs are supported for SVN and other source systems, depending on the Eclipse plug-in capabilities installed.

Examples:

<resources>
  <resource>Acme Project</resource>
  <resource>/MyProject/tests/acme</resource>
  <resource>testedprojects.properties</resource>
</resources>

If you are specifying multiple tests from different projects, tests will be grouped project-by-project, in the order specified in the multiple resource parameters or in the .lst file.

All tests in the same project as the first resource will be run before any tests in a different project. If you specify resources in the order the following order, for example:

/ProjectA/A.tst, /ProjectB/B.tst, /ProjectA/C.tst

they will be executed in the following order:

  1. /ProjectA/A.tst
  2. /ProjectA/C.tst
  3. /ProjectB/B.tst
  • Type: java.util.List<java.lang.String>
  • Required: No
  • User Property: soatest.resources

<settings>

Specifies the path to the .properties file that includes custom configuration settings.
  • Type: java.io.File
  • Required: No
  • User Property: soatest.settings

<showdetails>

Prints detailed test progress information to the console.
  • Type: boolean
  • Required: No
  • User Property: soatest.showdetails
  • Default: false

<showsettings>

Prints the current settings and customizations along with information regarding where they are configured (for example, in the settings.properties file).
  • Type: boolean
  • Required: No
  • User Property: soatest.showsettings
  • Default: false

<skip>

Skips running SOAtest.
  • Type: boolean
  • Required: No
  • User Property: soatest.skip
  • Default: false

<soatestHome>

Specifies the location of the Parasoft SOAtest installation.
  • Type: java.io.File
  • Required: No
  • User Property: soatest.home
  • Default: ${env.SOATEST_HOME}

<test>

Specifies a .tst file name, path or pattern to be executed during testing. This pattern is added to the includes list, which is useful for debugging tests.
  • Type: java.lang.String
  • Required: No
  • User Property: soatest.test

<testFilters>

Specifies a testName parameter that matches the name of a test to run. SOAtest searches for tests in the resource that contain the string specified, but programmatic pattern matching, such as wildcards or regex, is not performed.

In the following example, a test or test suite named WSDL Tests will run:

<testFilters>
  <testFilter>
     <testName>WSDL Tests</testName>
  </testFilter>
</testFilters>

You can use more than one testFilter parameter to specify multiple tests: Use the substringMatch optional parameter to search for tests containing a specific string. In the following example, any tests that contain the string MyTest will run:

<testFilters>
  <testFilter>
     <testName>MyTest</testName>
     <substringMatch>true</substringMatch>
  </testFilter>
  <testFilter>
     ...
  </testFilter>
</testFilters>

If the test uses data from a data source, you can use the dataSourceRow and dataSourceName optional parameter to limit the range of data rows used to execute the test. for example:

<testFilters>
  <testFilter>
     <testName>MyTest</testName>
     <substringMatch>true</substringMatch>
     <dataSourceName>MyData</dataSourceName>
     <dataSourceRow>1</dataSourceRow>
  </testFilter>
</testFilters>

The value for the dataSourceRow parameter can be specified as a single row. The following values are examples of valid values:

  • 5
  • 1,2,5
  • 3-9
  • 2-5,7,20-30
  • Type: java.util.List<com.parasoft.soatest.maven.plugin.TestFilter>
  • Required: No

<vmArgs>

Specifies additional JVM options. Example:
<vmArgs>
  <vmArg>-Xmx8g</vmArg>
  <vmArg>-Dssl.debug=true</vmArg>
</vmArgs>
  • Type: java.util.List<java.lang.String>
  • Required: No
  • User Property: soatest.vmargs

<workItems>

Limit the test scope to the resources that are associated with specific work items. Specify a list of work item IDs. Example:
<workItems>
  <workItem>TEST-7140</workItem>
  <workItem>TEST-16447</workItem>
</workItems>
  • Type: java.util.List<java.lang.String>
  • Required: No
  • User Property: soatest.workitems