This package allows you to read junit.xml files and send the results to Kiwi TCMS.
pip install kiwitcms-junit.xml-plugin
Minimal config file ~/.tcms.conf:
[tcms] url = https://tcms.server/xml-rpc/ username = your-username password = your-password
For more info see tcms-api docs.
This plugin is only concerned with parsing the junit.xml format and executing tcms-api functions which will create/reuse test cases, test plans and test runs. tcms-api behavior is controlled via environment variables.
For example this is how our own environment looks like:
#!/bin/bash if [ "$TRAVIS_EVENT_TYPE" == "push" ]; then # same as $TRAVIS_TAG when building tags export TCMS_PRODUCT_VERSION=$TRAVIS_BRANCH fi if [ "$TRAVIS_EVENT_TYPE" == "pull_request" ]; then export TCMS_PRODUCT_VERSION="PR-$TRAVIS_PULL_REQUEST" fi export TCMS_BUILD="$TRAVIS_BUILD_NUMBER-$(echo $TRAVIS_COMMIT | cut -c1-7)"
Further documentation and behavior specification can be found here.
The above configuration creates a separate TestPlan for each branch, see TP-7: [junit.xml] Plan for kiwitcms/junit.xml-plugin (master), a separate TestPlan for each pull request (recording possible multiple test runs) and separate TestPlan and TestRun for each tag on GitHub! tcms-api has default behavior for Travis CI and Jenkins and allows endless configuration via environment variables.
# define environment variables tcms-junit.xml-plugin /path/to/junit.xml
- Update tcms-api from 12.7 to 12.8.1
- Relax the requirement on tcms-api to allow for easier upgrades
- Update junitparser from 2.8.0 to 3.1.0
- Update tcms-api from 12.2 to 12.7
- Calculate
stop_date
only whenstart_date
is valid (Michael Kaye)
- Read
start_date
from<testsuite timestamp>
if it exists. Fixes Issue #89 - Internal refactoring. WARNING: contains backwards incompatible changes for
testcase_summary()
andtestexecution_timestamps()
methods which will break inherited classes
- Report TestExecution timestamps if present in XML
- Decode byte strings before sending comments to RPC (Sergey Lazarev)
- Format comments as Markdown when rendering the raw XML values
- Append stdout/stderr information to failure/error comments
- Updates around CI and expanded test matrix
- Provide a
--summary-template
for optional customization of the summary generated from the test cases (Michael Kaye) - Update junitparser from 2.5.0 to 2.8.0
- Update tcms-api from 11.3 to 11.4
- Refactoring and code formatting
- Add CodeQL workflow for GitHub code scanning
- Update tcms-api from 11.2 to 11.3
- Print information about created records if
-v
or--verbose
is specified on the command line - Allow multiple XML files to be specified on the command line
- Update junitparser from 2.2.0 to 2.5.0
- Update tcms-api from 11.0 to 11.2
- Annotate plugin with name & version information
- Trim TestCase.summary to 255 characters. Fixes Issue #44
- Updates around testing of this package
- Future compatible with upcoming Kiwi TCMS v11.0
- Update tcms-api to 11.0
- Update junitparser from 2.0.0 to 2.2.0
- Fix pylint issues
- Compatible with Kiwi TCMS v10.0
- Update tcms-api to 10.0
- Compatible with Kiwi TCMS v9.0
- Update tcms-api to 9.0
- Update junitparser to 2.0.0
- Adjusted code to handle jUnit v2.0 files
- Update tcms-api to 8.6.0
- Update junitparser to 1.6.0
- Update to
tcms-api v8.3.0
which uses
gssapi
for Kerberos - Requires MIT Kerberos for Windows if installed on Windows
This version works only with Kiwi TCMS v8.2 or later!
- Update to tcms-api==8.2.0
- Patch for changed return value in
plugin_helpers.Backend.test_case_get_or_create()
- Call
plugin_helpers.backend.finish_test_run()
when done
This version works only with Kiwi TCMS v8.0 or later!
- Adjust plugin due to API changes in Kiwi TCMS v8.0
- Require tcms-api==8.0.1
- Update junitparser from 1.3.4 to 1.41
- Update junitparser from 1.3.2 to 1.3.4
- Support XML files with <testsuites> root tag (Katalon Studio). Fixes Issue #9
- Works with Kiwi TCMS v6.7 or newer
- Uses new names of API methods