使用 rpc_client:如何为一个TestPlan 查找过滤所有 TestCase?

问题描述

有人能写一个例子来说明如何查询(过滤)测试计划的所有测试用例吗?

我在 rpc 中找不到测试用例和测试计划之间的关系。

from tcms_api import TCMS

rpc_client = TCMS()

for test_case in rpc_client.exec.TestCase.filter({'pk': 1}):
    print(test_case)

解决方法

我找到了这个解决方案。

from tcms_api import TCMS
import json 

rpc_client = TCMS()

print(" *** Plans & cases *** ")

for test_plan in rpc_client.exec.TestPlan.filter():
    print(test_plan['id'],"[",test_plan['name'],"]",test_plan['type__name'],test_plan['product__name'],test_plan['product_version__value'])

    for test_case in rpc_client.exec.TestCase.filter({"plan":test_plan['id']}):
      print("  ",test_case['id'],test_case['summary'],test_case['case_status__name'])

print(" *** Run & executions *** ")

for run_plan in rpc_client.exec.TestRun.filter({}):
    print(run_plan['id'],run_plan['summary'],run_plan['plan__name'])
    for exec_plan in rpc_client.exec.TestExecution.filter({"run_id":run_plan['id']}):
        print("  ",exec_plan['id'],exec_plan['case__summary'],exec_plan['status__name'])

,

我在 rpc 中找不到测试用例和测试计划之间的关系。

因为它们之间的关系不在RPC层,而是在ORM(数据库)层。作为 ORM 查询的瘦包装器的 API 没有明确记录所有字段/查找,因为这已在 Django 和源代码本身中记录: https://kiwitcms.readthedocs.io/en/latest/modules/tcms.rpc.api.html#how-does-the-rpc-interface-work

UI 也是一个独立的 API 客户端,您也可以探索它以获取提示。

获取给定测试用例的所有测试计划:

TestPlan.filter({"cases":10260})

获取给定测试计划的所有测试用例:

TestCase.filter({"plan": 1234})

此答案由 Kiwi TCMS 团队成员提供给您。如果您觉得有用,请考虑通过 https://opencollective.com/kiwitcms#category-CONTRIBUTE

的小额捐款帮助社区