如何通过 REST 将测试用例添加到 TFS

How to add Test Case into TFS via REST

我在测试 运行 期间自动将 export/synchronize 测试用例库实现到 TFS 中。我的要求之一是我需要为此使用 NodeJS,所以我决定使用 TFS REST API。在我的代码中,我使用的是 "azure-devops-node-api " 库,我可以连接并获取不同的元素,添加测试用例时运气不佳。

我在网上发现 TestCase 是一种 WorkItem,应该添加 WI。不幸的是,我没有找到一种方法来添加一个 azure-devops-node-api.

我也尝试发送手动构造的 json,不幸的是,我一直都在发送 url

Error: {"statusCode":404,"body":"Page not found."

我的示例请求:

 request.post({
            url: 'https://<url>/tfs/<default collection maybe?>/<project>/_apis/wit/workItems/test%20case',
            headers: {
                'Content-Type': 'application/json',
                'Authorization':'Basic ' + this.encodePat('<my auth token>')
            },
            rejectUnauthorized: false,//add when working with https sites
            requestCert: false,//add when working with https sites
            agent: false,//add when working with https sites
            json: rq
        },function (response, err, body){

            if (err) throw new Error(JSON.stringify(err));

            console.log('Body:',JSON.parse(body));
            console.log('Response:',response)
        });  

有谁知道我在做什么或者 azure-devops-node-api 是否能够添加工作项?

如果您只想将测试用例添加为工作项,则必须使用此 link Work Items - Create.

中的模板

POST https://dev.azure.com/{organization}/{project}/_apis/wit/workitems/${type}?api-version=5.0

您必须添加到 url "?api-version=X.0"。示例:

https://<server name and port>/tfs/<collection name should be>/<project>/_apis/wit/workItems/$test%20case?api-version=3.0

您还必须使用此模板对 pat 进行编码:

'Authorization':'Basic ' + this.encodePat(':<my auth token>')

您可以在此处找到使用 node.js 构建任务的示例:https://github.com/ashamrai/AzureDevOpsExtensions/blob/master/CustomBuildTask/NewWICustomTask/index.ts