【发布时间】:2017-09-13 18:35:40
【问题描述】:
在给定测试用例 ID 和套件 ID 的情况下,如何使用 java SDK 在 TFS 中将测试用例更新为 PASS/FAIL?我已经搜索并发现我需要使用其余的 API。但是任何人都可以分享代码或分享我可以学习如何使用它的链接吗?提前非常感谢。
【问题讨论】:
-
我已经更新了更详细的答案供您参考,请查看。
在给定测试用例 ID 和套件 ID 的情况下,如何使用 java SDK 在 TFS 中将测试用例更新为 PASS/FAIL?我已经搜索并发现我需要使用其余的 API。但是任何人都可以分享代码或分享我可以学习如何使用它的链接吗?提前非常感谢。
【问题讨论】:
通过最新版的JAVA SDK (Download page for TEE 2015),没有相关的方法和API,可以使用Java SDK修改测试,更新TFS中的测试结果。
使用 Rest Api 更新测试用例结果。你需要使用 Update test results for a test run
您可以使用 postman 调用 TFS REST API 进行测试。示例请求失败的情况如下:
PATCH https://fabrikam-fiber-inc.visualstudio.com/Defaultcollection/Fabrikam-Fiber-TFVC/_apis/test/runs/26/results?api-version=3.0-preview
内容类型:application/json
[
{
"id": 100000,
"state": "Completed",
"outcome": {
enum { Failed}
},
]
如果您还没有使用过 Rest API,请查看getting started 上的信息以及这些 API。
要使用 REST API 从 Java 代码连接到 TFS,您需要使用 HttpClient
使用 Java 客户端代码调用 rest api 的示例列表 git repos:
private void getRequest() throws Exception {
CloseableHttpClient httpclient = HttpClients.createDefault();
CredentialsProvider credsProvider = new BasicCredentialsProvider();
credsProvider.setCredentials(AuthScope.ANY,
new NTCredentials("user", "password", "workstation", "domain"));
HttpHost target = new HttpHost("tfs.web.com", 8080, "http");
HttpClientContext context = HttpClientContext.create();
context.setCredentialsProvider(credsProvider);
HttpGet httpget = new HttpGet("/tfs/CollectionName/ProjectName/_apis/git/repositories/repo-name");
CloseableHttpResponse response1 = httpclient.execute(target, httpget, context);
try {
HttpEntity entity1 = response1.getEntity();
} catch (Exception e) {
System.out.println(e.getMessage());
} finally {
response1.close();
}
}
【讨论】: