我正在使用gurock API从test Rail获取测试用例状态
下面将返回TC的状态。我将在pom.xml中提供trRunID。和TCname将使用方法Name。
public static int FetchTestRailResult(String trRunId, String TCName, String trusername, String trpassword )
throws MalformedURLException, IOException, APIException {
int val=0;
APIClient client = new APIClient($testRailurl);
client.setUser(trusername);
client.setPassword(trpassword);
;
JSONArray array = (JSONArray) client.sendGet("get_tests/"+trRunId+"&status_id=1");
for (int i = 0; i < array.size(); i++) {
JSONObject c = (JSONObject) (array.get(i));
String testrailTestCaseName=c.get("title").toString().split("_")[1];
if (testrailTestCaseName.equals(TCName)) {
val=1;
break;
}
}
return val;
}
下面将更新结果。
public static void UpdateResultToTestRail(String trusername, String trpassword, String trRunId,String testCaseName,String status, String testStepDetails)
throws MalformedURLException, IOException, APIException {
APIClient client = new APIClient($testrailurl);
client.setUser(trusername);
client.setPassword(trpassword);
HashMap data = new HashMap();
data.put("status_id", status);
data.put("comment", testStepDetails);
JSONArray array = (JSONArray) client.sendGet("get_tests/"+trRunId);
//System.out.println(array.size());
for (int i = 0; i < array.size(); i++) {
JSONObject c = (JSONObject) (array.get(i));
String testrailTestCaseName=c.get("title").toString().split("_")[1];
if (testrailTestCaseName.equals(testCaseName)) {
System.out.println(c.get("id"));
client.sendPost("add_result/" + c.get("id"), data);
break;
}
}
}
我现在迁移到maven,现在它有依赖
<!-- https://mvnrepository.com/artifact/com.codepine.api/testrail-api-java-client -->
<dependency>
<groupId>com.codepine.api</groupId>
<artifactId>testrail-api-java-client</artifactId>
<version>2.0.1</version>
</dependency>
它没有api方法,它有Builder和build,但进一步无法检查连接是否成功。有人在Maven中使用雌二醇吗?
我没有使用过这个库,但它看起来很容易使用,他们在他们的github项目页面上有一些文档:https://github.com/codepine/testrail-api-java-client
对于你的用例,我认为你只需要做以下事情:
TestRail testRail = TestRail.builder("https://some.testrail.net/", "username", "password");
Tests tests = testRail.tests();
List<Test> lst = tests.list(runId).execute();
//filter it based on your conditions
我没有运行代码-只是组合它,所以它可能有一些问题,但应该给你一个如何使用库的想法。
请注意,截至2月26日,TestRail正在更改批量请求(如案例,测试,项目等)的HTTP响应,所以我不确定该库是否仍将与下一个TR版本一起工作-您需要检查它。
注:我们正在开发一些与TestRail集成的产品,所以您可能想看看它们。如果您感兴趣,请查看我们的产品:
https://www.agiletestware.com/pangolin
https://www.agiletestware.com/firefly
基于您的测试框架(TestNG的JUnit),尝试使用以下库之一:
- TestRail-JUnit
- TestRail-TestNG
它们都有关于如何通过几个步骤集成它的中等文章(参见README)。md)