【问题标题】:with rpc_client: how to find (filter) all TestCases for a (one) TestPlan?使用 rpcclient:如何为(一个)测试计划查找(过滤)所有测试用例?
【发布时间】:2021-04-20 14:47:54
【问题描述】:

有人可以写一个如何查询(过滤)测试计划的所有测试用例的示例吗?

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

from tcms_api import TCMS

rpc_client = TCMS()

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

【问题讨论】:

    标签: kiwi-tcms


    【解决方案1】:

    我找到了这个解决方案。

    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'])
    
    

    【讨论】:

      【解决方案2】:

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

      因为它们之间的关系不在RPC层,而是在ORM(database)层。 API 作为 ORM 查询的薄包装器并没有明确记录所有字段/查找,因为这已在 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})

      【讨论】:

        猜你喜欢
        • 2018-05-29
        • 1970-01-01
        • 2017-09-06
        • 1970-01-01
        • 2022-11-12
        • 2021-10-20
        • 2016-05-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多