美文网首页
测试用例逐步演进-xmind2excel(Python版)

测试用例逐步演进-xmind2excel(Python版)

作者: 许小小晴 | 来源:发表于2018-11-26 14:09 被阅读9次

    摘自http://www.51testing.com/html/20/n-3727220.html

    最近,我在做项目的时候,经常被问到一个问题:如何做测试评审会更有效呢?

    只要做过测试用例评审,特别是比较复杂的测试用例评审的时候,很多测试同学都会苦恼于如何能更有效的向大家说出自己的测试设计思路。

      当然,CC先生的建议是测试用例评审更多的是测试范围的确认,测试方案的讨论和测试思路的对齐。

      如何能更好的体现出测试设计思路?

      推荐大家使用的可视化工具是脑图。脑图PC版里被使用比较多的工具就是xmind。

      可大家很苦恼的问题在于有时候公司会有测试用例存档的要求。也就是有一个从测试设计思路到测试用例Excel保存的需求。

      xmind pro版是有直接从xmind导为excel表格的功能,but,好多同学不屑于买pro版(其实是qiong),那怎么办呢?一句老话,自己动手,丰衣足食咯。

      先看看最后的效果图:

      xmind2excel

    其中会用到的python的知识点为:

      xml文件读取 xml etree的用法

      excel表格的写入

      python 参数解析内嵌库 argparse argparse - 命令行选项与参数解析(译)

     转化步骤

      1.xmind中创建所需文件,以freemind的格式导出,导出文件的后缀名为*.mm的文件

      2.*.mm的文件本身是xml展现

      3.通过python把xml文件处理为excel表格形式

      import xml.etree.ElementTree as ET

      import xlwt

      import argparse

      g_row = 0

      def do_write_excel(text, row, col):

      ws.write(row, col, text)

      #通过递归的获取子节点的形式达到获取 xml 等级

      def perf_func(elem, func, level = 0):

      global g_row

      func(elem, g_row, level)

      for child in list(elem):

      name = child.get('TEXT')

      perf_func(child, func, level + 1)

      if child.find('node') is None and name is not None:

      g_row = g_row + 1

      def write_excel(elem, row, level):

      name = elem.get('TEXT')

      if name is not None:

      do_write_excel(name, row, level)

      #python 参数解析内嵌库 argparse,带两个参数

      parser = argparse.ArgumentParser()

      parser.add_argument('-i', '--input-file', type=str, dest='inputfile', required=True)

      parser.add_argument('-o', '--output-file', type=str, dest='outputfile', default='freemind2excel.xls', help='Default outputfile is freemind2excel.xls')

      args = parser.parse_args()

      if args.inputfile is None:

      parser.print_help()

      exit()

      root = ET.parse(args.inputfile)

      map_version = root.getroot()

      first_node = map_version.find('node')

      wb = xlwt.Workbook()

      ws = wb.add_sheet('freemind2excel')

      perf_func(first_node, write_excel)

      wb.save(args.outputfile)

      运行的时候,带上需要输入的文件名和输出的文件名,最后你就可以得到一个想要的excel测试用例文件啦~~~~

    相关文章

      网友评论

          本文标题:测试用例逐步演进-xmind2excel(Python版)

          本文链接:https://www.haomeiwen.com/subject/yklbqqtx.html