我已经收到测试人员的请求,可以在Adaptavist上运行我们的硒测试,并且我想知道如何以最佳方式实现这一目标。
我尝试使用Kanoah API来获取带有标签的所有测试用例,并设法以这种方式获取所有测试项。我目前想知道是否可以设置连接到这些测试键的自定义注释,并运行包含注释中Kanoah API返回的值之一的所有测试。
在这种情况下,我得到的值是" FEN-T1411"通过使用Kanoah API,下面的测试是测试该测试用例。
@Test
@TestKey("FEN-T1411")
public void runTest(){
doThings();
}
所以我想知道这是否可行,或者是否有其他方法可以更容易实现。
答案 0 :(得分:0)
如果有人发现这个问题,我就是这样解决的。
首先,我得到所有带有设置标签的测试用例:
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(如果存在),结果/状态,执行日期和持续时间。
URI url = new URI(String.format("https://jira.ouradress.se/rest/atm/1.0/testrun/%s/testcase/%s/testresult", getTestRunCode(), testcase));
虽然我知道这不是最佳的,但它确实有效。它需要一些工作,因为我们必须手动将jiracode写入每个测试。因此可以忘记哪些导致测试没有报告运行。但是没有任何人的帮助,这是我设法创造的最好的。