返回

Zephyr Jira 中获取超过 50 个 ExecutionByCycleId 的详细指南

java

如何在 Zephyr Jira 中获取超过 50 个 ExecutionByCycleId

简介

在 Zephyr Jira 中使用 Java Selenium 代码更新测试用例状态时,需要获取超过 50 个测试用例的执行 ID。然而,使用偏移量和大小的传统方法似乎不起作用。本文提供了一种替代解决方案,使用扩展属性来获取更多执行结果。

获取 Cycle ID

首先,需要使用 JQL 查询获取测试周期的 ID:

String cycleName = "My Test Cycle";
ZapiCycle cycle = client.getCycle().getCycleByName(cycleName);
Long cycleId = cycle.getId();

获取前 50 个执行结果

使用偏移量和大小参数获取前 50 个执行结果:

int offset = 0;
int size = 50;
List<ZapiExecution> executions = client.getExecution().getExecutionsByCycleId(cycleId, offset, size);

增加大小获取更多执行结果

由于偏移量和大小不起作用,需要使用扩展属性来获取更多执行结果:

Map<String, String> expand = new HashMap<>();
expand.put("expand", "history,latest_testStep");
List<ZapiExecution> executions = client.getExecution().getExecutionsByCycleId(cycleId, offset, size, expand);

迭代获取执行结果

重复步骤,每次增加偏移量:

while (offset < totalExecutionsCount) {
    // 获取下一个执行结果组
    List<ZapiExecution> executions = client.getExecution().getExecutionsByCycleId(cycleId, offset, size, expand);
    // 更新偏移量
    offset += size;
}

示例代码

// 设置 Zephyr Scale REST API 客户端
ZapiClient client = new ZapiClient(username, password, baseUri);

// 检索 Cycle ID
String cycleName = "My Test Cycle";
ZapiCycle cycle = client.getCycle().getCycleByName(cycleName);
Long cycleId = cycle.getId();

// 获取执行结果的总数
int totalExecutionsCount = client.getExecution().getExecutionCountByCycleId(cycleId);

// 获取前 50 个执行结果
int offset = 0;
int size = 50;
Map<String, String> expand = new HashMap<>();
expand.put("expand", "history,latest_testStep");
List<ZapiExecution> executions = client.getExecution().getExecutionsByCycleId(cycleId, offset, size, expand);

// 重复步骤,直到获取所有执行结果
while (offset < totalExecutionsCount) {
    // 获取下一个执行结果组
    List<ZapiExecution> executions = client.getExecution().getExecutionsByCycleId(cycleId, offset, size, expand);
    // 更新偏移量
    offset += size;
}

结论

通过使用扩展属性,可以获取 Zephyr Jira 中超过 50 个 ExecutionByCycleId。这对于使用 Java Selenium 代码更新测试用例状态非常有用。

常见问题解答

  • 我为什么不能使用偏移量和大小来获取更多执行结果?

    • Zephyr Jira 对偏移量和大小参数有使用限制,在某些情况下无法获取超过 50 个执行结果。
  • 我应该使用哪些扩展属性值?

    • 最常见的扩展属性值为 "history,latest_testStep"。它提供了执行历史记录和最新测试步骤的详细信息。
  • 我需要设置多少次扩展属性?

    • 每次迭代中都需要设置一次扩展属性。
  • 我如何知道我是否获取了所有执行结果?

    • 使用 getExecutionCountByCycleId 方法获取执行结果的总数,然后与获取的执行结果列表进行比较。
  • 如果我遇到错误怎么办?

    • 检查 Zephyr Jira 日志文件或与 Zephyr Jira 支持团队联系以获取帮助。