Skip to content

qatestlink XMLRPC manager for Testlink Testcase Management Application

License

Notifications You must be signed in to change notification settings

netzulo/qatestlink

Repository files navigation

QA Testlink

qatestlink XMLRPC manager for Testlink

Issues on Github Pull Request opened on Github Release version on Github Release date on Github
Branch Linux Deploy Windows Deploy
master https://travis-ci.org/netzulo/qatestlink.svg?branch=master https://ci.appveyor.com/api/projects/status/7low4kw7qa6a5vem/branch/master?svg=true

Python tested versions

3.7 3.6 3.5 3.4 >=3.3
Supported Supported Supported Supported Not Supported

How to install ?

  • Install from PIP : pip install qatestlink
  • Install from setup.py file : python setup.py install

Documentation

How to exec tests ?

    1. Install dependencies for tests : pip install -r requirements-tests.txt
    1. Tests from setup.py file : python setup.py test
    1. Install TOX : pip install tox
    1. Tests from tox : tox -l && tox -e TOX_ENV_NAME ( see tox.ini file to get environment names )
TOX Env name Env description
py34,py35,py36 Python supported versions
docs Generate doc HTML in /docs
flake8 Exec linter in qalab/ tests/
coverage Generate XML and HTML reports

Configuration File

{
    "connection":{
        "is_https": false,
        "host": "ntz-qa.tk",
        "port": 86
    },
    "dev_key": "1bfd2ef4ceda22b482b12f2b25457495",
    "log_level":"INFO"
}

Tests

You will need real testlink app running before you can just execute on command line

python setup.py test

Getting Started

Just starting example of usage before read Usage Guide.

    1. Create JSON configuration ( runtime or read from file, read config section )
    1. Instance testlink_manager object testlink_manager = TLManager(settings=my_json_config)
    1. Use some method name with prefix 'api_'
from qatestlink.core.testlink_manager import TLManager
from qatestlink.core.utils import settings


SETTINGS = settings(
    file_path="/home/user/config/dir/",
    file_name="settings.json"
)


try:
    tlm = TLManager(settings=SETTINGS)
    if not tlm.api_login():
        raise Exception("Not logged for TestlinkWebApp")
    # END
    print(tlm.api_tprojects())
    print("Test PASSED!")
except Exception as err:
    print("ERROR: {}".format(err))
    import pdb; pdb.set_trace() # TODO, remove DEBUG lane
    print("Test FAILED!")