diff options
author | Petr Šplíchal <psplicha@redhat.com> | 2012-02-21 20:58:16 +0100 |
---|---|---|
committer | Petr Šplíchal <psplicha@redhat.com> | 2012-02-21 21:00:00 +0100 |
commit | 82efdffd1e2e99e42740492207dd9b58ef0b4730 (patch) | |
tree | 2e08f2d712da0908371ef262ea7d82e4d8ff60c2 | |
parent | d1ee888d9f4760aee77a75df9a211265df0e8569 (diff) | |
download | python-nitrate-82efdffd1e2e99e42740492207dd9b58ef0b4730.tar.gz python-nitrate-82efdffd1e2e99e42740492207dd9b58ef0b4730.tar.xz python-nitrate-82efdffd1e2e99e42740492207dd9b58ef0b4730.zip |
README created
-rw-r--r-- | README | 93 |
1 files changed, 93 insertions, 0 deletions
@@ -0,0 +1,93 @@ + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Python API for the Nitrate test case management system +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +python-nitrate is a Python interface to the Nitrate test case +management system. The package consists of a high-level Python +module (provides natural object interface), a low-level driver +(allows to directly access Nitrate's xmlrpc API) and a command +line interpreter (useful for fast debugging and experimenting). + +Features +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Among the most essential python-nitrate 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. + +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") + +Linking case to a plan is as simple as adding an item to a set: + + testplan.testcases.add(testcase) + +However, it's still possible to use the low-level driver when a +specific features is not implemented yet or not efficient enough: + + testcasehash = Nitrate()._server.TestCase.get(46490) + +Scripts importing python-nitrate 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 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +For a quick start you can get some inspiration in the 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. + + +Documentation +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +For a short introduction see the manual page. For more detailed +and most up-to-date description of all available nitrate module +features see Python online documentation using 'pydoc nitrate'. + + +Test Suite +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +The high-level interface has an integrated test suite, which can +be easily run against a stage server instance. For this a couple +of objects needs to be prepared and already existing on the server +so that we can check valid results. For detailed information about +what data has to be prepared see the module documentation. + + +Links +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +python-nitrate project page: +https://fedorahosted.org/python-nitrate/ + +Nitrate test case management system: +https://fedorahosted.org/nitrate/ + + +Enjoy! +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Hope, the library will save you time and bring some joy when +writing scripts interacting with the Nitrate server. Looking +forward to your feedback, comments, suggestions and patches ;-) + + +Petr Šplíchal +<psplicha@redhat.com> |