On this page:
Since TeamCity 2018.2, a test run in TeamCity can be associated with some additional information (metadata), complementing test status, execution time, and output. This information can be used to provide extra logs, screenshots, numeric values, tags etc.
You can now use service messages to report this kind of additional test data in TeamCity and then view it in the TeamCity Web UI.
Additional test data is reported using the
testMetadata service message, with the following attributes:
name(optional) is a name of the metadata item, used to distinguish different metadata items for the same test and to show this item in UI. When omitted, TeamCity autogenerates the name, but does not show it in UI.
testName(optional) is the name of the test for which this metadata is generated, excluding the suite name. If the service message is reported in the middle of the test or immediately after its finish, the testName attribute can be skipped. If the metadata is reported later, it should contain the full test name, including suites, packages and so on.
value(mandatory) contains the metadata value associated with the test. The max value length is 1024.
type(optional) defaults to ‘text’ unless otherwise specified. The type affects how metadata is stored and how its value is shown in the TeamCity UI.
If the format of the service message is incorrect, a corresponding note about it is written into build log.
The types of data which can be recognised by TeamCity are as follows:
##teamcity[testMetadata testName='package.Test.testName' name='setUp time' type='number' value='434.5']
You can see a graph of changes for a numeric value, from build to build for the given test.
##teamcity[testMetadata testName='package.Test.testName' name='some key' value='a text']
##teamcity[testMetadata testName='test.name' name='JetBrains' type='link' value='https://jetbrains.com']
##teamcity[testMetadata testName='test.name' type='artifact' value='path/to/catalina.out']
The path to the artifact should be relative to the build artifacts directory, and can reference a file inside archive:
##teamcity[testMetadata testName='test.name' type='artifact' value='logs.zip!/testTyping/full-log.txt']
When showing links to artifacts, TeamCity shows both the ‘
name’ and the filename of the referenced image. If name was autogenerated, it is not shown.
##teamcity[testMetadata testName='test.name' type='image' value='path/to/screenshot.png']
The path to the image should be relative to the build artifacts directory. When showing images, TeamCity shows both the ‘
name’ and the filename of the referenced image.
You can view additional test data in various places in the TeamCity Web UI.
To view additional data for a test, expand the stacktrace: TeamCity shows it before test failure details in a separate Test Metadata section.
To view the test data graph, expand the stacktrace: TeamCity shows it before test failure details in a separate Test Metadata section.
To view additional data for a successful test, go to the Tests tab or the Test History tab: the OK status for a test is now clickable if additional test data is present: