Selenium 与最新版本的 TestRail 集成
Selenium with TestRail Integration with latest version
我正在使用 gurock API 从 Test Rail 获取测试用例状态
下面会returnTC的状态。我会在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 和构建,但无法进一步检查连接是否成功。有人在 Maven 中使用过 testrail 吗?
我没用过那个库,但它看起来很容易使用,他们的 githib 项目页面上有一些文档: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 is changing 他们对批量请求(如案例、测试、项目等)的 HTTP 响应,所以我不确定该库是否仍适用于下一个 TR 版本 - 你需要检查一下。
P.S。我们正在开发一些与 TestRail 集成的产品,因此您可能想看看它们。如果您有兴趣,请查看我们的产品:
https://www.agiletestware.com/pangolin
https://www.agiletestware.com/firefly
根据您的测试框架(TestNG 的 JUnit),尝试使用以下库之一:
他们都有关于如何通过几个步骤集成它的 Medium 文章(请参阅 README.md)
我正在使用 gurock API 从 Test Rail 获取测试用例状态
下面会returnTC的状态。我会在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 和构建,但无法进一步检查连接是否成功。有人在 Maven 中使用过 testrail 吗?
我没用过那个库,但它看起来很容易使用,他们的 githib 项目页面上有一些文档: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 is changing 他们对批量请求(如案例、测试、项目等)的 HTTP 响应,所以我不确定该库是否仍适用于下一个 TR 版本 - 你需要检查一下。
P.S。我们正在开发一些与 TestRail 集成的产品,因此您可能想看看它们。如果您有兴趣,请查看我们的产品:
https://www.agiletestware.com/pangolin
https://www.agiletestware.com/firefly
根据您的测试框架(TestNG 的 JUnit),尝试使用以下库之一:
他们都有关于如何通过几个步骤集成它的 Medium 文章(请参阅 README.md)