注意: 如果是用pip3安装的,需要去python根目录的Lib\site-packages\xmind2testcase中找xmind2testcase的类进行修改
用xmind2testcase转换出来的禅道csv文件中
用例类型始终是"手动",而禅道中用例类型可选值列表为
功能测试
性能测试
配置相关
安装部署
安全相关
接口测试
其他
测试阶段始终是迭代测试,而禅道用的测试阶段可选值列表为
单元测试阶段
功能测试阶段
集成测试阶段
系统测试阶段
冒烟测试阶段
版本验证阶段
在对源码进行走读后,发现作者没有对用例类型和测试阶段进行正确的定义,可能是在其他平台上导入会有冲突吧
修改思路:
xmind中
标签(label)作为用例类型,默认值为"功能测试"
批注(comment)作为测试阶段,默认值为"功能测试阶段"
以下对代码进行修改,注意缩进,且不能用\table
找到 parser.py
在 config = { 中添加
#用例类型的配置
'type_sep': '\n----\n',
在 def parse_a_testcase(case_dict, parent): 中
#修改
#testcase.summary = summary if summary else testcase.name
#改为
#设置批注默认值为'无'
testcase.summary = summary if summary else "无"
#添加
#用例类型赋值,默认为'无'
execution_type = gen_testcase_type(topics)
testcase.execution_type = execution_type if execution_type else '无'
#代码底部添加方法
#从xmind的内容中获取用例类型的值
def gen_testcase_type(topics):
labels = [topic['label'] for topic in topics]
labels = filter_empty_or_ignore_element(labels)
return config['type_sep'].join(labels)
找到 zentao.py
#修改
#case_apply_phase = '迭代测试'
#改为
#测试阶段的csv输出
case_apply_phase = gen_case_apply_phase(testcase_dict['summary'])
#修改方法
#def gen_case_type(case_type):
# mapping = {1: '手动', 2: '自动'}
# if case_type in mapping.keys():
# return mapping[case_type]
# else:
# return '手动'
#改为
#测试类型默认值转换
def gen_case_type(case_type):
if case_type=='无':
return '功能测试'
else:
return case_type
#添加方法
#测试阶段默认值转换
def gen_case_apply_phase(case_apply_phase):
if case_apply_phase=='无':
return '功能测试阶段'
else:
return case_apply_phase