Nesse post vamos fazer uma classe genérica para reportar o resultado do teste realizado para o TestLink.
Vamos listar as coisas que devemos fazer primeiro para criar o reporte no testlink.
1. Precisamos criar primeiro os seguinte itens: Test Project Management Test Plan Management.
- Como estes dois Itens não mudam todo tempo, recomendo fazer manualmente no inicio do projeto, caso você queira fazer, já digo que a ultima versão do TestLink 1.9.12 esta com um bug quando você tenta fazer várias vezes o Test Plan Management, a tela fica em branco, pode ser problema de memória, mas não perdi muito tempo com isso.
- Criamos uma função para criar o Build - create_build(self, newBuildID, buildName, buildNotes), passamos como paramêtro ID do build, nome do build, descrição do mesmo.
4. Pegar o ID do Test Plan passando o Nome do Test Plan como parâmetro para a função getTestPlanId(self, NEWTESTPLAN).
5. Agora vamos realizar o reporte do teste realizado, passando os dados (id do caso de teste, id do plano de teste, buildname, resultado do teste -> PASSED=p , FAILED=f , BLOCKED=b, descrição do teste realizado) para a função reportTCResult(self, tcid, tpid, buildname, Result, notes).
Exemplo:
"""
Class Testlink to connection with server TestLink
Author: Reinaldo M.R.J
Date: 10-12-2014 - Version: 0.X
"""
import testlink
class class_Testlink(object):
def __init__(self):
# Endereço do Servidor xmlrpc
TESTLINK_SERVER_URL = '.../lib/api/xmlrpc/v1/xmlrpc.php'
# Chave gerada pelo TestLink
TESTLINK_DEVKEY = 'bdcc743a0cd80052bf8c28XXXXXXXX'
tlh = testlink.TestLinkHelper(TESTLINK_SERVER_URL, TESTLINK_DEVKEY)
self.myTestLink = tlh.connect(testlink.TestlinkAPIClient)
# Nome do Projeto, caso você tenha vários poderia enviar como parâmetro para classe.
self.Project = "XXXXXXXX"
def reportTCResult(self, tcid, tpid, buildname, Result, notes):
return self.myTestLink.reportTCResult(tcid, tpid, buildname, Result, notes)
def testCaseIDByName(self, TESTCASE):
response = self.myTestLink.getTestCaseIDByName(TESTCASE, testprojectname=self.Project)
print response
response = response[0].get("id")
return response
def getTestPlanId(self, NEWTESTPLAN):
response = self.myTestLink.getTestPlanByName(self.Project, NEWTESTPLAN)
print "getTestPlanByName", response
response = response[0].get("id")
return response
def create_build(self, newBuildID, buildName, buildNotes):
newBuild = self.myTestLink.createBuild(newBuildID, buildName, buildNotes)
isOk = newBuild[0]['message']
if isOk == "Success!":
newBuildID = newBuild[0]['id']
print "New Test Build '%s' - id: %s" % (buildName, newBuildID)
else:
print "Error creating the Test Build '%s': %s " % (buildName, isOk)
return
Nenhum comentário:
Postar um comentário