xmind转测试用例和导入禅道流程
- 安装xmind2testcase
pip install xmind2testcase
安装完成后可以输入xmind2testcase进行check
前置条件:需要事先安装python和pip
安装python:Python Release Python 3.9.6 | Python.org
安装pip: pip · PyPI
下载pip安装包并解压,使用python setup.py install 进行安装
- 在xmind上进行测试用例编写
xmind的编写规则:
(1)中心主题默认为产品名称。
(2)中心主题下的第一层子主题会自动识别为TestSuite,也可以理解为模块。
(3)TestSuite下的子主题添加优先级后会自动识别为TestCase,即为用例名。
(4)TestCase下的子主题依次为TestStep和Expected results,即为测试步骤和期望结果。
(5)TestCase可以添加备注来说明前置条件。
(6)在任何元素前加#,可忽略解析。
自由主题不会被解析进去
- xmind生成测试用例
- 在控制台输入xmind2testcase [path/xmind文件路径] [-csv] [-xml] [-json],例:xmind2testcase /root/homin/XX测试点.xmind -csv ##在当前目录下会转换为对应的csv类型文件。
- 在控制台输入 xmind2testcase webtool 8000 ,定义好本地端口后访问http://127.0.0.1:8000/,可通过web端进行文件转换,之后可通过点击“Get Zentao CSV / Get TestLink XML / Go Back”,生成对应的文件类型。
- 由于直接安装的xmind2testcase会存在一些不太适用于禅道,所以需要进行一些简单的修改,以便于更加适配禅道
xmind2testcase的本地安装路径: xmind2testcase包的路径地址:在python根目录的Lib\site-packages\xmind2testcase
问题:
- 用例模块:xmind2testcase中的用例模块没有符号进行标记,建议加上中文‘【】’
解决方案:修改zentao.py
gen_a_testcase_row(testcase_dict):
#模块添加【】
case_module = '【'+gen_case_module(testcase_dict['suite'])+'】'
- 用例标题:xmind2testcase中的case titile的分隔符是' ',建议修改成'-',规范title格式【测试】【员工门户】进行员工门户登录权限的验证 这样的样例
解决方案:修改parser.py
(1). sheet_to_suite(root_topic)函数:
# 修改title的分隔符' '为'-'
# config['sep'] = ' '
config['sep'] = '-'
(2). gen_testcase_title(topics)
#修改title的分隔符' '为'-'
# if separator != ' ':
if separator != '-':
- .parse_a_testcase(case_dict, parent)
testcase.name = gen_testcase_title(topics)
# 新增:将"】-"替换成"】"
if "】-" in testcase.name:
testcase.name=testcase.name.replace('】-', '】')
3. 用例优先级:xmind2testcase中的优先级是'高','中','低',禅道中的却是1,2,3,4
解决方案:修改zentao.py
gen_case_priority(priority):
#编辑优先级高,中,低为1,2,3,4
mapping = {1: '1', 2: '2', 3: '3', 4: '4'}
if priority in mapping.keys():
return mapping[priority]
else:
return '3' ---之前默认是’中’,建议改为‘3’
4. 用例类型:xmind2testcase中的用例类型是手动测试和自动测试,禅道中的类型包含功能测试,接口测试,性能测试,配置相关,安装部署安全相关,目前暂时只修改功能和接口测试
解决方案:修改zentao.py
gen_case_type(case_type):
#修改用例类型
mapping = {1: '功能测试', 2: '接口测试'}
if case_type in mapping.keys():
return mapping[case_type]
else:
return '功能测试'
5. 用例阶段:xmind2testcase中的用例阶段是‘迭代阶段’,禅道中的是‘单元测试阶段’,‘功能测试阶段’,‘集成测试阶段’,‘系统测试阶段’,‘冒烟测试阶段’,‘版本验证阶段’,因为我们的测试大都是在功能测试阶段,所以当前先改为功能测试阶段
解决方案:修改zentao.py
gen_a_testcase_row(testcase_dict):
#编辑测试阶段
case_apply_phase = '功能测试阶段'
6. 导出禅道的csv文件,导出禅道后会出现测试用例间存在空白行
解决方案:修改zentao.py
xmind_to_zentao_csv_file(xmind_file)
# 去掉导出文件的空白行 ,新增newline=''
with open(zentao_file, 'w', encoding='utf8', newline='') as f:
7.测试用例关键词:xmind-批注
解决方案:修改zentao.py
优化后用例样例: