安装
pip install TestLink-API-Python-client
#!/usr/bin/env Python
# -*- coding: utf-8 -*-
'''
Created on 2018年4月2日
@author: Brenda
'''
import testlink
from com.pingan.test.util.config import Config
url = 'http://tm.paic.com.cn/testlink/lib/api/xmlrpc/v1/xmlrpc.php'
key = 'a04a27098jnkkmeemme'
test_project_name = 'NTS-CFB-AMS' #testlink上的测试计划名称
def set_testlink_result(case_id):
'''
@param case_id: 测试案例ID
@return:
'''
def _deco(func):
def _func(self):
try:
func(self)
report_test_result(case_id, 'p')
except:
report_test_result(case_id, 'f')
raise
return _func
return _deco
def report_test_result(test_case_id, test_result):
'''
@param test_case_id: 测试案例ID
@param test_result: 测试结果 pass、failed
@return:
'''
test_case_id = str(test_case_id)
test_case_id = test_case_id.replace(',', ',')
case_id_list = test_case_id.split(',')
#Config.set_test_plan_name('XXX版本回归测试')
if Config.test_plan_name == None:
pass
else:
for case_id in case_id_list:
tlc = testlink.TestlinkAPIClient(url, key)
test_plan = tlc.getTestPlanByName(test_project_name, Config.test_plan_name)
if len(test_plan):
if isinstance(test_plan[0], dict):
test_plan_id = test_plan[0]['id']
# print test_plan, str(test_plan_id)
response = tlc.getBuildsForTestPlan(test_plan_id)
build_name = response[0]['name']
tlc.reportTCResult(testcaseid=case_id, testplanid=test_plan_id, buildname=build_name, status=test_result,notes='')
# print res[0]['operation'], res[0]['message']