"""testlink API Sample Python Client Implementation"""ImportXmlrpclibclasstestlinkapiclient:#substitute your server URL hereServer_url ="http://localhost/testlink/lib/api/xmlrpc.php" def __init__(self, Devkey): Self.server=Xmlrpclib. Server (self. Server_url) Self.devkey=DevkeyPrint "Devkey in init:%s"%DevkeydefGettestcaseidbyname (self,devkey): Data= {"Devkey":d Evkey,"Testcasename":"Test Case 1","Testsuitename":"Test Suite 1"} returnself.server.tl.getTestCaseIDByName (data)defReporttcresult (self, tcid, tpid, status): Data= {"Devkey": Self.devkey,"Tcid": Tcid,"Tpid": Tpid,"Status": status}returnself.server.tl.reportTCResult (data)defGetInfo (self):returnself.server.tl.about ()defSayHello (self):returnSelf.server.tl.sayHello ()defgetprojects (Self, devkey):Print "Devkey:%s"%Devkey Data= {"Devkey":d Evkey}returnself.server.tl.getProjects (data)if __name__=='__main__': Devkey="abc04556463cd813a1ea05caf042d42f" #substitute your Dev Key hereClient =testlinkapiclient (Devkey)#Get Info about the server PrintClient.getinfo ()#retval = Client.sayhello () #retval = client.getprojects (devkey)retval =client.gettestcaseidbyname (Devkey)Print 'retval:', retval
Please note that you'll need to generate a devkey for the work from within your Testlink installation.
Steps to enable Testlink API via XMLRPC and generate dev key:
- Open config.inc.php
- Search for /** xml-rpc API availability (disabled by default) */$TLCFG->api->enabled = FALSE;
- Change FALSE to True $tlCfg->api->enabled = true;
- Save config.inc.php
- Login to Testlink UI as admin
- Go to ' My Settings '
- Under API interface, click ' Generate new key '
- Copy the key generated
- Substitute your newly generated Devkey in the client program example:client = testlinkapiclient (devkey= "abc04556463cd813a 1ea05caf042d42f ")
This should is sufficient for a test the Testlink xmlrpc API Client server communication. You can then go ahead and use the client program as a library to being called from within your Python test scripts (talking F Rom a Selenium python user perspective). You could does similar implementation with other scripts.
Hope you find this useful.
Sample testlink API Client in Python