使用 python 在 Azure TFS 中自动创建测试计划
Automatic creation of Test Plan in Azure TFS using python
我在使用 python 中的 POST 方法在 Azure TFS 中自动创建测试计划时遇到问题。
当我手动创建它时,在 UI 中,一切正常,当我试图找到这个工作项目时,例如。 http://xxx/tfs/test/Project/_apis/test/plans/266801?api-version=5.0
- 一切正常,我得到 JSON。
我的代码:
def TestPlan(title=None, description=None):
def wrapper(func):
def inner_wrapper(*args, **kwargs):
authorization = str(base64.b64encode(bytes(':' + token, 'ascii')), 'ascii')
headers = {
'Content-Type': 'application/json-patch+json',
'Authorization': 'Basic ' + authorization
}
URL = url + '/' + project + '/_apis/wit/workitems/$Test Plan?' + api_version
body = [
{
"op": "add",
"path": "/fields/System.Title",
"value": title
},
{
"path": "/fields/System.Description",
"op": "add",
"value": description
},
{
"path": "/fields/Microsoft.VSTS.TCM.AutomatedTestId",
"op": "add",
"value": automationId(func)
}
]
requests.post(URL, json=body, headers=headers)
func(*args, **kwargs)
return inner_wrapper
return wrapper
当我使用我的代码时,会创建工作项,但仅在 UI 中。当我试图在 API 中找到它时,出现错误:
{"$id":"1","innerException":null,"message":"Test plan 266800 not found.","typeName":"Microsoft.TeamFoundation.TestManagement.WebApi.TestObjectNotFoundException, Microsoft.TeamFoundation.TestManagement.WebApi","typeKey":"TestObjectNotFoundException","errorCode":0,"eventId":3000}
当我单击 UI 中的这个工作项时,我有这个:
我想我需要在创建测试计划时添加一个 rootSuite,但是该怎么做呢?
你能帮帮我吗?
为什么使用工作项 API 来创建测试计划 (_apis/wit/workitems
)?
您必须使用测试计划 API (_apis/testplan/plans
)。以下是示例:Test Plans - Create
我在使用 python 中的 POST 方法在 Azure TFS 中自动创建测试计划时遇到问题。
当我手动创建它时,在 UI 中,一切正常,当我试图找到这个工作项目时,例如。 http://xxx/tfs/test/Project/_apis/test/plans/266801?api-version=5.0
- 一切正常,我得到 JSON。
我的代码:
def TestPlan(title=None, description=None):
def wrapper(func):
def inner_wrapper(*args, **kwargs):
authorization = str(base64.b64encode(bytes(':' + token, 'ascii')), 'ascii')
headers = {
'Content-Type': 'application/json-patch+json',
'Authorization': 'Basic ' + authorization
}
URL = url + '/' + project + '/_apis/wit/workitems/$Test Plan?' + api_version
body = [
{
"op": "add",
"path": "/fields/System.Title",
"value": title
},
{
"path": "/fields/System.Description",
"op": "add",
"value": description
},
{
"path": "/fields/Microsoft.VSTS.TCM.AutomatedTestId",
"op": "add",
"value": automationId(func)
}
]
requests.post(URL, json=body, headers=headers)
func(*args, **kwargs)
return inner_wrapper
return wrapper
当我使用我的代码时,会创建工作项,但仅在 UI 中。当我试图在 API 中找到它时,出现错误:
{"$id":"1","innerException":null,"message":"Test plan 266800 not found.","typeName":"Microsoft.TeamFoundation.TestManagement.WebApi.TestObjectNotFoundException, Microsoft.TeamFoundation.TestManagement.WebApi","typeKey":"TestObjectNotFoundException","errorCode":0,"eventId":3000}
当我单击 UI 中的这个工作项时,我有这个:
为什么使用工作项 API 来创建测试计划 (_apis/wit/workitems
)?
您必须使用测试计划 API (_apis/testplan/plans
)。以下是示例:Test Plans - Create