文章目录

  • 背景
  • xmind转换效果
    • xmind文件
    • Excel文件
      • 格式一:合并单元格布局
      • 格式二:枢纽布局
  • 代码实现
  • 可执行文件下载地址
  • TODO

背景

在一些快速迭代的团队中,测试工程师没有时间整理完整的测试用例,或者没有专门的测试用例管理工具(比如testlink,禅道,JIRA等),一些测试工程师会使用xmind的思维导图来记录测试用例。这种方式虽然可以很清晰的看到测试点,但是弊端就是不方便标记结果。
我就在团队中遇到了使用xmind来记录测试用例的情况,在执行这些用例的时候就想要转成excel,方便在测试过程中随时标记结果,生成测试报告。
但是,xmind转excel需要会员,那对于我这种本不富裕的测试同学来说,就只好自力更生,自己转。

xmind转换效果

xmind文件

Excel文件

支持一下两种格式,默认使用格式一。

格式一:合并单元格布局

格式二:枢纽布局

代码实现

暂时只支持一个画布上一个父主题的情况,xmind中的notecallout等暂时不支持,会不写入excel中。以下代码转xmind到excel时会按照合并单元格的样式展示。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
from xmindparser import xmind_to_dict
from openpyxl import Workbook, load_workbook
from openpyxl.styles import Alignmentdef write_sub_note_to_excel(datadict, cur='', excel=None):'''把每个最终节点,带路径写入excel:param datadict::param cur::param excel::return:'''for k, v in datadict.items():if type(v) is dict:write_sub_note_to_excel(v, cur, excel)elif isinstance(v, list):for i in v:if isinstance(i, dict):write_sub_note_to_excel(i, cur, excel)else:if not 'topics' in datadict and k == 'title':wb = load_workbook(excel)ws = wb.activews.append((cur + '-' + v).split('-')[1:])wb.save(excel)print("{0} : {1}".format(k, cur + '-' + v))cur = cur + '-' + vdef format_excel(excelfile):'''调整excel格式,做合并单元格:param excelfile::return:'''wb = load_workbook(excelfile)ws = wb.activefor cols in ws.iter_cols(max_row=ws.max_row, max_col=ws.max_column):srow = cols[0]for col in cols[1:]:if col.value == srow.value:if col == cols[ws.max_row - 1] and col.value is not None:ws.merge_cells(':'.join([srow.coordinate, col.coordinate]))srow.alignment = Alignment(horizontal="center", vertical="center")else:if srow.value is not None:# print(':'.join([srow.coordinate, col.column_letter + str(col.row - 1)]))ws.merge_cells(':'.join([srow.coordinate, col.column_letter + str(col.row - 1)]))srow.alignment = Alignment(horizontal="center", vertical="center")srow = colwb.save(excelfile)if __name__ == '__main__':import sysxmind_file = sys.argv[1]  # 输入D:\XX测试用例.xmindxmind_dict = xmind_to_dict(xmind_file)print(xmind_dict)# 生成的excel文件名wb = Workbook()excelfile = xmind_file.replace('.xmind', '.xlsx')wb.save(excelfile)wb = load_workbook(excelfile)ws = wb.active# xmind解析后的dict格式如下:# [{'title': '画布 1', 'topic': {'title': 'XX测试用例', 'topics': []}}]# 所以需要忽略到第一层的 '画布 1',直接从topic里内容开始转top_topic = xmind_dict[0]['topic']write_sub_note_to_excel(top_topic, excel=excelfile)# 需要格式二:枢纽布局来逐条查阅的小伙本,直接把下面这行format_excel注释掉即可format_excel(excelfile)

可执行文件下载地址

给不会Python3或者不想尝试的小伙伴也准备了个可以在Windows10上运行的可执行文件。打开CMD,执行exe即可。

D:\>xmind2excel.exe XX测试用例.xmind

链接:https://pan.baidu.com/s/1HOtUcX3dr8msntEXGMe1gw
提取码:kcej

TODO

  1. 支持标注和笔记,写入excel中

Python3实现转xmind思维导图文件到excel相关推荐

  1. Xmind思维导图转化为Excel用例

    使用python实现Xmind思维导图转化为Excel用例,通过pyinstaller打包成exe可执行文件,方便使用. 主界面如下: 帮助提示界面: 最终是实现按一定的布局自动生成Excel用例:

  2. 【测试工具】Xmind思维导图一键生成Excel测试用例

    测试的小伙伴应该经常会遇到一个问题,就是在进行测试需求点分析时都会使用Xmind思维导图工具进行测试点的分析,写完之后再编将其编写成对应的Excel格式的文档,方便导入到测试管理管理工具如禅道之类的系 ...

  3. xmind思维导图文件如何不下载任何软件进行查看

    1.首先浏览器地址栏搜索"百度脑图",进入百度脑图官方网站https://naotu.baidu.com/ 2.点击马上开启按钮,进入主界面 3.点击百度脑图->打开-> ...

  4. Redis 远程字典服务及shell全部命令汇总【点击可查看高清原图】(附 xmind思维导图原文件 百度网盘)

    xmind思维导图原文件分享 链接:https://pan.baidu.com/s/10lGFF9OlxU8a5cfzCYYJKA 提取码:ugi2

  5. 怎样用XMind 8将思维导图导出为Excel文件

    XMind 8是一款思维导图软件,然而思维导图文件却不是一个通用格式.所以它提供了许多其他导出格式,方便用户以合适的文件格式进行分享或使用.XMind目前支持的文件导出格式有PDF.SVG.MS Ex ...

  6. xMind思维导图软件

    xmind源码下载: http://code.google.com/p/xmind3 xMind官方网站: http://www.xmind.net 思维导图软件 XMind 与 FreeMind 的 ...

  7. XMind思维导图安卓PC直装入门下载及常见问题解决教程

    XMind作为一款优秀的思维导图软件,被应用于各个领域,不失为一款易用.高效的可视化思维软件,从用户的角度出发,帮助用户实现真正意义上的提高生产率. XMind是一款让你专注思维,捕捉每一个灵感瞬间的 ...

  8. Xmind 思维导图v22

    一款让你专注思维,捕捉每一个灵感瞬间的 App [资源名称]:Xmind 思维导图 [资源版本]:22.09.158 [资源大小]:38.55MB [测试机型]:realme [资源介绍]:1.为工作 ...

  9. XMind 2020 for mac (XMind思维导图)

    xmind 2020中文版是一款十分实用的思维导图软件.相信很多用户都还不了解XMind,XMind官方版优化了许多功能,性能上大大提高.使用XMind思维导图可以帮助用户完成逻辑图.树形图.组织结构 ...

最新文章

  1. php trace 函数,PHP Trace 实现原理
  2. gin 优雅重启或停止
  3. RocketMQ(四):生产者消费者实践
  4. 【Java并发编程】之八:多线程环境中安全使用集合API
  5. AI 人工智能 探索 (八)
  6. 能测试快充真假的软件,苹果iOS 12可自行测试真假快充:山寨充电器将被洗牌
  7. 淘宝电商页面和产品海报设计PSD分层素材模板
  8. LockSupport HotSpot里park/unpark的实现
  9. NOIP2016DAY1题解
  10. [超详细] 在Edge/Chrome浏览器上为B站开启HEVC硬解和AV1硬解(支持4K120Hz、8K、HDR真彩,杜比视界、杜比全景声)
  11. 微信公众平台:微信网页授权和微信支付
  12. 【R语言数据科学】(十三):有趣的概率学(下)
  13. 123457123456#0#-----com.cym.shuXue02--前拼后广--开心学数学
  14. 替换mysql数据库_mysql数据库的替换
  15. 新电脑自带win11刷win10 系统之后出现的触摸屏/板失灵等问题
  16. JavaScrpit+Html实现日期时间启动、停止操作(应用场景:计时器、秒表)
  17. 移动App Store测试的“七宗罪”
  18. soot基础 -- soot 中的处理阶段
  19. 联发科MT6893怎么样 联发科MT6893参数配置
  20. 书写函数:求棋盘上芝麻重量

热门文章

  1. BERT_中文情感分类操作及代码
  2. Linux通过ifconfig命令ens33没有显示ip地址解决方式
  3. IOS应用图标上的数字提示实例
  4. 造梦西游online十殿阎罗篇:法宝篇(莫等闲,空悲切)
  5. IT培训从业6年, 正厚软件魏老师说些真心话(篇一)
  6. 微信小程序结合腾讯位置服务获取用户所在城市信息
  7. RPC,MessagePack 的讲解与案例
  8. 左程云 - 大厂刷题班 - 绳子覆盖最多的点
  9. 病人康复训练中姿势识别与纠正方法研究
  10. codeforce 333B chips