跳转至

提取用例

1. 概述

用例git仓库根目录下需要有【extract_case.py】文件,平台通过执行【python extract_case.py】提取用例,支持python2python3。通过生成tcase.json文件,将用例信息导入到TCase平台。

2. 提取用例信息

通过解析注释中的用例信息,详情请参考示例

test_case():
    """
    '用例名': '', # 必填,不能为空,普通用例填写用例名,模版用例、测试套则填写相应目录名称
    '用例/目录类型': 0, # 必填,不能为空,0为普通用例,1为模版用例,2为测试套
    '测试场景': '', # 如果无,填''
    '测试步骤': '', # 如果无,填''
    '预期结果': '', # 如果无,填''
    '备注': 'git_test1', # 如果无,填''
    '用例标签': "{\"协议": [\"abc\"]}", # 如果无,填'',支持v、kv两种形式: 1)多个v:value1,value2,value3等 多个标签使用;,、,符号中的一个分隔 2)kv形式,key表示分类: "{\"key1": [\"value1\",\"value2\"]}" 
    '用例目录': 'git_test1', # 上级目录,普通用例、模版用例上级目录不能为空,测试套上层目录可以为空,example: A/B/C
    '用例级别': 0, # 必填,0 or 1 or 2 or 3
    '代码git路径': 'git_test1', # 必填
    '执行命令': 'git_test1', # 必填,example: python -m auto_test.projects.tgw.testcases.tgw_cases.hb.test_2048_rs_udp
    '关联tapd需求单': 'git_test1', # 如果无,填''
    '创建人': 'git_test1', # 必填,英文名
    '修改人': 'git_test1' # 如果无,填''
    '超时时间': 1, # 单位:秒
    '是否自动化': 1 # 0为否,1为是,不填则为是
    '自定义用例ID': 'asdlfk', # 必须为项目内唯一,定义‘自定义用例ID’后,则以ID作为用例唯一标识,可以修改‘用例名’
    '用例排序数值': 0, # 从小到大排序,不指定的用例默认数值99999
    '测试套setup命令': '', # example: python -m auto_test.projects.tgw.testcases.tgw_cases.hb.test_2048_rs_udp
    '测试套teardown命令': '' # example: python -m auto_test.projects.tgw.testcases.tgw_cases.hb.test_2048_rs_udp
    """
    pass

3. json示例

参考OpenCloudOS/packages-testing示例生成用例文件[tcase.json],其中key如下所示。

[ 
    {
            'name': 'case1-testsuite-realcase334',  # 不能为空
            'is_template_case': 0,  # 必填,不能为空,0为普通用例,1为模版用例,2为测试套
            'test_scene': '测试场景1',  # 如果无,填''
            'test_step': '上传文件',  # 如果无,填''
            'expect_result': '上传成功',  # 如果无,填''
            'note': '正常场景',  # 如果无,填''
            'signs': '{"协议1": ["https", "http", "http"]}',  # 如果无,填'',支持v、kv两种形式: 1)多个v:'value1,value2,value3' 多个标签使用;,、,符号中的一个分隔 2)kv形式,key表示分类: '{"协议1": ["https", "http", "http"]}'
            'directory': 'master/上传/testsuite/case1-testsuite',  # 不能为空,example: A/B/C
            'level': 0,  # 不能为空,取值范围:[0,1,2,3]
            'git_path': '',
            'run_cmd': 'python -m auto_test.projects.tgw.testcases.tgw_cases.hb.test_2048_rs_udp',  # 不能为空。
            'tapd_url': '',  # 如果无,填''
            'create_person': 'conniezheng',  # 不能为空,英文名
            'update_person': 'conniezheng',  # 如果无,填''
            'timeout': '',  # 超时时间,单位:秒
            'auto': 1,  # 是否自动化,0为否,1为是,不填则为是
            'u_id': 'case1_testsuite-realcase_asdlfk',  # 必须为项目内唯一,定义‘自定义用例ID’后,则以ID作为用例唯一标识,可以修改‘用例名’
            'series': '',  # 从小到大排序,不指定的用例默认数值99999
            'setup_cmd': '',  # 测试套setup命令, example: python -m auto_test.projects.tgw.testcases.tgw_cases.hb.test_2048_rs_udp
            'teardown_cmd': '',  # 测试套teardown命令, example: python -m auto_test.projects.tgw.testcases.tgw_cases.hb.test_2048_rs_udp
    }
]