运行 使用特定的 Adaptavist 标签进行测试

Running tests with specific Adaptavist label

我收到了测试人员的请求,希望能够 运行 我们的 selenium 测试在 Adaptavist 上保留特定标签,我想知道如何以最佳方式实现这一目标。

我尝试使用 Kanoah API 来获取所有带有标签的测试用例,并设法以这种方式获取所有测试密钥。我目前想知道是否可以设置连接到这些测试键的自定义注释,并且 运行 所有包含注释中从 Kanoah API 返回的值之一的测试。

在这种情况下,我通过使用 Kanoah API 获得值 "FEN-T1411",下面的测试正在测试该测试用例。

@Test   
@TestKey("FEN-T1411")   
public void runTest(){ 
     doThings();
}

所以我想知道这是否可行,或者是否有另一种更容易实现的方法。

万一有人偶然发现这个问题,我是这样解决的。

首先我得到所有带有设置标签的测试用例:

String query = String.format("labels IN (\"%s\")", label);
URI url = new URI("https://jira.ouradress.se/rest/atm/1.0/testcase/search?fields=key&query=" + URLEncoder.encode(query, "UTF-8"));

使用响应,我构建了包含名称、projectkey、testplankey 和项目的 DTO:

@JsonProperty("name")
private String name;
@JsonProperty("projectKey")
private String projectKey;
@JsonProperty("testPlanKey")
private String testPlanKey;
@JsonProperty("items")
private List<TestCaseDTO> testCaseTOList;

之后我使用那个 DTO 创建我们的测试运行:

URI url = new URI("https://jira.ouradress.se/rest/atm/1.0/testrun");

在此之后我 运行 每次测试,并且在每次测试结束时我使用 AfterMethod 注释发送结果,发送一些关于测试执行的相关信息:

@AfterMethod(alwaysRun = true)
public void afterTest(ITestResult result) {     
    TestResultsReporter.resultsCollector(result.getStatus(), result.getThrowable(), this.jiraCode, 
            getDate(result.getStartMillis()), getDuration(result.getEndMillis(), result.getStartMillis()));
}

我将结果作为字符串获取(通过、失败、跳过)并将其进一步传递给下一个方法。仅创建一个包含信息的 TestcaseDTO(如果存在)、result/status、执行日期和持续时间。

URI url = new URI(String.format("https://jira.ouradress.se/rest/atm/1.0/testrun/%s/testcase/%s/testresult", getTestRunCode(), testcase));

虽然我知道这不是最佳选择,但它确实有效。它需要一些工作,因为我们必须手动将 jiracode 写入每个测试。所以它可能会被遗忘,这会导致 运行 的测试没有被报告。但在没有任何其他人帮助的情况下,这是我设法创造的最好的。