OS:Win 10 2004 x64,Python 3.8.5,tcms api 8.6
起初,我试图获得我手动创建的TestRun。它运行得很好。
from tcms_api import TCMS
rpc_client = TCMS()
targetPlan = rpc_client.exec.TestRun.filter({'id' : 1877})[0]
所以我得到了:
{'notes': 'TestRun', 'id': 1788, 'start_date': '2020-09-18 15:19:18',
'stop_date': '2020-09-18 19:24:38','summary': 'TestRun', 'build_id': 1, 'build': 'unspecified',
'default_tester_id': 17, 'default_tester': 'i.bogomazov', 'manager_id': 17, 'manager': 'i.bogomazov',
'plan_id': 2, 'plan': 'TestPlan', 'product_version_id': 2, 'product_version': '12.0', 'tag': [], 'cc': []}
接下来,我尝试创建具有类似值的TestRun
:
trSetting = {'notes':'AutoTestRun', 'start_date':'2020-11-13 11:56:30', 'summary':'Auto create testrun',
'default_tester_id': 17, 'default_tester':'i.bogomazov','build_id': 1, 'build': 'unspecified',
'plan_id':2, 'product_version_id':2, 'product_version':2, 'tag':['auto']}
run = rpc_client.exec.TestRun.create(trSetting)
这里我有一个错误。但我使用的是trSetting:中等于2的属性"product_version_id">
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:Usersi.bogomazovAppDataLocalProgramsPythonPython37-32libxmlrpcclient.py", line 1112, in __call__
return self.__send(self.__name, args)
File "C:Usersi.bogomazovAppDataLocalProgramsPythonPython37-32libxmlrpcclient.py", line 1452, in __request
verbose=self.__verbose
File "C:Usersi.bogomazovAppDataLocalProgramsPythonPython37-32libxmlrpcclient.py", line 1154, in request
return self.single_request(host, handler, request_body, verbose)
File "C:Usersi.bogomazovAppDataLocalProgramsPythonPython37-32libxmlrpcclient.py", line 1170, in single_request
return self.parse_response(resp)
File "C:Usersi.bogomazovAppDataLocalProgramsPythonPython37-32libsite-packagestcms_apixmlrpc.py", line 41, in parse_response
return super().parse_response(response)
File "C:Usersi.bogomazovAppDataLocalProgramsPythonPython37-32libxmlrpcclient.py", line 1342, in parse_response
return u.close()
File "C:Usersi.bogomazovAppDataLocalProgramsPythonPython37-32libxmlrpcclient.py", line 656, in close
raise Fault(**self._stack[0])
xmlrpc.client.Fault: <Fault -32603: "Internal error: 'NoneType' object has no attribute 'product_version_id'">
创建时,不要将_id
用于外键字段。尝试:
trSetting = {'notes':'AutoTestRun', 'start_date':'2020-11-13 11:56:30', 'summary':'Auto create testrun', 'default_tester': 17, 'build': 1, 'plan':2, 'product_version':2}
run = rpc_client.exec.TestRun.create(trSetting)