xmind2case-xmind转用例格式及使用记录
一、目的
为了让xmind编写的用例,导入现有禅道,根据公司禅道配置进行了小改动
源码调整
# 1、修改了优先级与现有禅道对应
# 2、修改禅道中对应获取用例的类型,“手动”更改为“功能测试”(现有禅道的预置类型很多,暂时不过多添加)并增加默认为“功能测试”
# 3、同步获取禅道的csv模板格式
# 4、修改多条用例在同一个列表中,增加自动换行
def gen_case_priority(priority):
# 创建优先级
mapping = {1: '1', 2: '2', 3: '3'}
if priority in mapping.keys():
return mapping[priority]
else:
return '2'
def gen_case_type(case_type):
# 创建用例类型
mapping = {1: '功能测试', 2: '接口测试'}
if case_type in mapping.keys():
return mapping[case_type]
else:
return '功能测试'
def xmind_to_zentao_csv_file(xmind_file):
"""将 XMind 文件转换为 禅道 csv 文件"""
xmind_file = get_absolute_path(xmind_file)
logging.info('开始将XMind文件(%s)转换成zentao文件...', xmind_file)
testcases = get_xmind_testcase_list(xmind_file)
fileheader = ["所属模块", "用例标题", "前置条件", "步骤", "预期", "关键词", "优先级", "用例类型", "适用阶段"]
zentao_testcase_rows = [fileheader]
for testcase in testcases:
row = gen_a_testcase_row(testcase)
zentao_testcase_rows.append(row)
def gen_case_step_and_expected_result(steps):
case_step = ''
case_expected_result = ''
for step_dict in steps:
case_step += str(step_dict['step_number']) + '. ' + step_dict['actions'].replace('\n', '').strip() + '\n'
case_expected_result += str(step_dict['step_number']) + '. ' + \
step_dict['expectedresults'].replace('\n', '').strip() + '\n' \
if step_dict.get('expectedresults', '') else ''
return case_step, case_expected_result
二、xmind 用例编写规范
编写规则有多种,主要介绍常用的两种
1、单条用例编写
如图所示,文件标题可以忽略,自己写一个记得住就好,这个代码进行了过滤,主要说的是后面4部分:
1、功能模块(低):这个主要是自己区分,因为没有禅道的openapi拿不到预置的管理模块所以自己写就好了,不太重要。
2、用例名称(高):这个主要是用来记录禅道导入后的用例的,最好是写的详细一点,例如:用户中心-新增筛选字段-渠道ID-6685(渠道id后面是需求号,这样自己看着方便 )。
3、步骤(高):写入自己的测试步骤,例如:渠道id输入整数,写的自己能看明白就好。
4、预期结果(中):根据需求和步骤得出用例的预期结果,例如:输入成功或输入失败。
上面这种编写风格转换后的禅道用例结构如下图↓:
下载后的禅道用例样式图如下↓:
2、多条用例编写
如图所示,模板风格还是以上述4部分为主要核心,模块-用例标题-步骤-预期结果
上面这种编写风格转换后的禅道用例结构如下图↓:
下载后的禅道用例样式图如下↓:
三、导入禅道
1、登录禅道选择用例库–点击导入CSV
2、上传转换完成的csv用例导入即可,上传后的样式如下: