Skip to content

mateuszmichalskiacc/junit.xml-plugin

 
 

Repository files navigation

junit.xml plugin for Kiwi TCMS

PyPI version Travis CI Code coverage Python updates TP for kiwitcms/junit.xml-plugin (master) Tidelift Become a sponsor Kiwi TCMS on Twitter

This package allows you to read junit.xml files and send the results to Kiwi TCMS.

Installation

pip install kiwitcms-junit.xml-plugin

Configuration and environment

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.

Usage

# define environment variables
tcms-junit.xml-plugin /path/to/junit.xml

Changelog

v11.3 (18 May 2022)

  • 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

v11.2 (16 May 2022)

  • 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

v11.0 (05 Dec 2021)

  • 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

v10.0 (02 Mar 2021)

  • Compatible with Kiwi TCMS v10.0
  • Update tcms-api to 10.0

v9.0 (13 Jan 2021)

  • 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

v8.4 (28 Oct 2020)

  • Update tcms-api to 8.6.0
  • Update junitparser to 1.6.0

v8.3 (10 Apr 2020)

  • Update to tcms-api v8.3.0 which uses gssapi for Kerberos
  • Requires MIT Kerberos for Windows if installed on Windows

v8.2 (03 Apr 2020)

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

v8.0.1 (10 February 2020)

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

v0.5 (07 January 2020)

  • Update junitparser from 1.3.4 to 1.41

v0.4 (20 September 2019)

  • Update junitparser from 1.3.2 to 1.3.4
  • Support XML files with <testsuites> root tag (Katalon Studio). Fixes Issue #9

v0.3 (10 April 2019)

  • Works with Kiwi TCMS v6.7 or newer
  • Uses new names of API methods

About

junit.xml plugin for Kiwi TCMS

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 65.8%
  • Shell 28.3%
  • Makefile 5.9%