Python API for the Kiwi TCMS test case management system
Project description
This package consists of a high-level Python module (provides natural object interface), a low-level driver (allows to directly access Kiwi’s xmlrpc API) and a command line interpreter (useful for fast debugging and experimenting).
FEATURES
Among the most essential features are:
Natural and concise Python interface
Custom level of caching & logging
Automated status coloring
Integrated test suite
Utility functions
The main motivation was to hide unnecessary implementation details wherever possible so that using the API is as concise as possible.
Scripts importing tcms_api can make use of several useful helper functions including info() for logging to stderr, listed() which converts list into nice human readable form, color() for coloring and of course log.{debug,info,warn,error} for logging.
EXAMPLES
Initialize or create an object:
testcase = TestCase(1234) testrun = TestRun(testplan=<plan>, summary=<summary>)
Default iterators provided for all container objects:
for case in TestRun(1234): if case.automated: case.status = Status("RUNNING") case.update()
Linking case to a plan is as simple as adding an item to a set:
testplan.testcases.add(testcase) testplan.update()
However, it’s still possible to use the low-level driver when a specific features is not implemented yet or not efficient enough:
inject = TCMS()._server.TestCase.get(46490)
For a quick start you can get some inspiration in the script_examples directory. The ‘matrix.py’ script demonstrates how to easily display a matrix view of the test run results for a specific test plan. The ‘create.py’ script gives a broader overview covering object creation, attribute setting, adjusting logs and caching.
For area-specific details see respective module documentation:
tcms_api.base ......... TCMS class, search support tcms_api.config ....... Configuration, logging, coloring, caching tcms_api.containers ... Container classes implementation tcms_api.immutable .... Immutable TCMS objects tcms_api.mutable ...... Mutable TCMS objects tcms_api.tests ........ Test suite tcms_api.utils ........ Utilities tcms_api.xmlrpc ....... XMLRPC driver
INSTALLATION
pip install tcms-api
CONFIGURATION
To be able to contact the Kiwi TCMS server a minimal user config file ~/.tcms.conf has to be provided in the user home directory:
[tcms] url = https://kiwi.server/xml-rpc/ username = myusername password = mypassword
COPYRIGHT
Copyright (c) 2012 Red Hat, Inc. All rights reserved. Copyright (c) 2017 Kiwi TCMS Project and its contributors. All rights reserved.
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.