小编在测试日常工作中遇到一个费时的问题,如何将excel中的测试用例,生成测试框架图?经过查阅发现的python xmind库
将excel中的测试用例,生成测试框架图,分为2步
1.解析excel,取出excel中数据(此部分暂时忽略)
2.将前一步准备的数据写入 xmind(今天主要写此部分)
一、前提条件:
python xmind库安装(参考:https://link.zhihu.com/?target=https%3A//github.com/xmindltd/xmind-sdk-python)
二、代码部分:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys   
reload(sys)   
sys.setdefaultencoding('utf8')  
import xmind
from xmind.core import workbook,saver
from xmind.core.topic import TopicElement
def creatXmindFile(data):
    module=[]
    for item in data:
        module.append(item['module'])   
    module=list(set(module))
    w = xmind.load("test3.xmind") # load an existing file or create a new workbook if nothing is found  
    s2=w.createSheet() # create a new sheet
    s2.setTitle("框架")
    r2=s2.getRootTopic()
    r2.setTitle("框架")   
    for i in range(len(module)):
        t=TopicElement()
        t.setTitle(module[i])
        r2.addSubTopic(t)   
    w.addSheet(s2) # the second sheet is now added to the workbook  
    r2_topics=r2.getSubTopics() # to loop on the subTopics  
    for topic in r2_topics:
        topic_name=topic.getTitle()
        print topic_name
        for item in data:
            if topic_name == item['module']:
                index=topic.getIndex()
                t=TopicElement()
                content=item['caseId']+" "+'\n'+item['summary']
                t.setTitle(content)
                r2_topics[index].addSubTopic(t)
                summary=t.getTitle()
                for item in data:
                    if item['summary'] in summary:
                        t1=TopicElement()
                        content1=item['name']
                        t1.setTitle(content1)
                        t.addSubTopic(t1)
    xmind.save(w,"test3.xmind") # and we save
if __name__=='__main__':
    data=[{
        'name': 'testClickTheMenuButton',
        'caseId':  '01',
        'module': '书架',
        'summary': '多次开启关闭书架',
        }
    , {
        'name': 'testSearchWordWithoutResult',
        'caseId':  '02',
        'module': '搜索',
        'summary': '搜索无结果'
    }]  
    creatXmindFile(data)
三、生成的xmind

11_gaitubao_com_922x437.png