python xmind生成

发布时间 2023-10-11 16:07:55作者: 公子Learningcarer
import xmind


class AddXmind:
    def __init__(self, topic_name: str, path: str):
        self.topic_name = topic_name  # 主题名称
        self.path = path  # 绝对路径

    def add(self, child: list):
        workbook = xmind.load(self.path)
        first_sheet = workbook.getPrimarySheet()  # 获取第一个画布
        first_sheet.setTitle(self.topic_name)  # 设置画布名称
        root_topic1 = first_sheet.getRootTopic()  # 获取画布中心主题,默认创建画布时会新建一个空白中心主题
        root_topic1.setTitle(self.topic_name)  # 设置主题名称
        for child_i in (child):
            sub_topic1 = root_topic1.addSubTopic()  # 创建子主题,并设置名称
            sub_topic1.setTitle(child_i[0])  # 创建一个子主题的子主题(用例名称)
            sub_topic1_1 = sub_topic1.addSubTopic()  # 创建子-子主题,并设置名称
            sub_topic1_1.setTitle(child_i[1])  # 创建子-子主题的子主题(用例前置条件)
            sub_topic1_2 = sub_topic1_1.addSubTopic()  # 创建子-子主题,并设置名称
            sub_topic1_2.setTitle(child_i[2])  # 创建子-子主题的子主题(用例步骤)
            sub_topic1_3 = sub_topic1_2.addSubTopic()  # 创建子-子主题,并设置名称
            sub_topic1_3.setTitle(child_i[3])  # 创建子-子主题的子主题(用例实际结果)
        # 保存所有内容,并且另存为其它xmind文件(推荐)
        xmind.save(workbook=workbook, path=self.path)


if __name__ == '__main__':
    data = [('用例标题', '前置条件', '预期步骤', '实际结果'),('用例标题1', '前置条件1', '预期步骤1', '实际结果1'),('用例标题2', '前置条件2', '预期步骤2', '实际结果2')]
    AddXminds = AddXmind('营销', 'G:\\aa.xmind')
    add = AddXminds.add(data)