【思维导图】python教程XMind-数据类型转换
xmind使用教程
添加自有模版到 XMind: 1. 单击模板面板右上角的“管理按钮”,进入编辑模式; 2. 选择“添加”按钮; 3. 从本机选择模版(.xmt 文件)即可添加到模板库中; 4. 选中添加的模板,点击“删除”按钮即可删除添加的模板。 注:自带模板不能删除 返回 XMind 用户使用指南
XMind 新手入门完整攻略
XMind 是一款非常实用的商业思维导图软件,应用全球最先进的 EclipseRCP 软件架构,全力打造易用、高效的可视化思维软件。对于新手来说,如 何使用 XMind 是安装完成后的首要问题,XMind 新手入门完整攻略是小编给新手用户的福利,包含创建 XMind 思维导图基本入门操作,让用户快速 上手。 XMind 思维导图主要由中心主题、主题、子主题、自由主题、外框、联系等模块构成,通过这些导图模块可以快速创建您需要的思维导图,以下步骤 教您如何使用 XMind 创建思维导图:
备注:主题宽度会根据文字的多少自动调整,但是如果想手动调整宽度,可以使用上述方法。 四、修改主题属性 1. 选中主题。 2. 打开 属性视图。 3. 您可以在此视图中修改如下属性: o 结构: 在下拉列表中选择合适的结构。所选结构会应用于当前主题及其子主题。 o 文字: 这里可以调整所选主题的文字的 "字体", "大小", "类型" 以及 "文字颜色"。 o 形状: 为当前主题选择合适的形状,以及背景色。 o 线条: 为当前主题同其子主题之间的线条选择合适的形状,宽度以及颜色。 o 编号: " 选择编号的类型。 " 选择是否继承当前主题父主题的编号。
您也可以通过插入菜单栏中的这几个工具来添加这些主题信息。
第四步 添加主题信息的可视化关系。
怎么将xmind转换为各种格式呢?
怎么将xmind转换为各种格式呢?
我们刚开始使用xmind的时候,不知道xmind转换为各种格式的方法,但是XMind文件可以被导出成Word / PowerPoint / PDF / TXT / 图片格式等,也可以在导出时选择仅导出图片,还是仅文字,还是图文混排等等。
那幺我们给大家讲解一下xmind转换为Word、PowerPoint、PDF、图片、Excel 格式吧!
第一种:转换为Word文档
我们使用Word文档,更加方便的传播使用。
大家知道怎幺做吗?具体要操作呢?Word 提供了许多易于使用的文档创建工具,同时也提供了丰富的功能集供创建复杂的文档使用。
所以把xmind导出为Word格式是非常必要的。
点击查看全文:
1、打开我们的xmind文件
2、点击图中方框----保存为Word格式
第二种:转换为Excel
在XMind 8中,打开或制作一幅思维导图,单击界面右上角的“导图”图标,选择“导出Microsoft Excel”就OK啦!XMind的过滤功能非常直观,用户可以通过图标将思维导图分成很多层,可单独查看其中的一层,是个人计划、项目管理等领域的法宝。
点击查看全文:
1、新建一xmind文件。
python数据转换函数_常用python数据类型转换函数总结
python数据转换函数_常用python数据类型转换函数总结在Python中,我们经常需要在不同的数据类型之间进行转换。
例如,我们可能想将一个整数转换为字符串,或将一个字符串转换为整数。
Python提供了一系列内置的数据类型转换函数,来满足这些需求。
在本文中,我将总结常用的Python数据类型转换函数。
1. int函数int(用于将一个值转换为整数。
它的语法如下:```int(x)```其中x可以是字符串、浮点数、布尔值等。
例如:```pythona = int("10") # 将字符串"10"转换为整数10b = int(10.5) # 将浮点数10.5转换为整数10c = int(True) # 将布尔值True转换为整数1```2. float函数float(用于将一个值转换为浮点数。
它的语法如下:``````其中x可以是字符串、整数、布尔值等。
例如:```pythona = float("10.5") # 将字符串"10.5"转换为浮点数10.5b = float(10) # 将整数10转换为浮点数10.0c = float(True) # 将布尔值True转换为浮点数1.0 ```3. str函数str(用于将一个值转换为字符串。
它的语法如下:```str(x)```其中x可以是整数、浮点数、布尔值等。
例如:```pythona = str(10) # 将整数10转换为字符串"10"b = str(10.5) # 将浮点数10.5转换为字符串"10.5"c = str(True) # 将布尔值True转换为字符串"True"```函数bool(用于将一个值转换为布尔值。
它的语法如下:```bool(x)```其中x可以是整数、浮点数、字符串等。
它会将非零整数、非零浮点数、非空字符串等转换为True,将零整数、零浮点数、空字符串等转换为False。
Python使用Python操作xmind文件
Python使⽤Python操作xmind⽂件使⽤Python操作xmind⽂件by:授客 QQ:1033553122测试环境Win10Python 3.5.4XMind-1.2.0.tar.gz下载地址:创建及更新xmind⽂件#!/usr/bin/env python# -*- coding:utf-8 -*-import xmindfrom xmind.core.const import TOPIC_DETACHEDfrom xmind.core.markerref import MarkerIdfrom xmind.core.topic import TopicElement# 加载已有xmind⽂件,如果不存在,则新建workbook = xmind.load('D:\\example\\example.xmind')first_sheet = workbook.getPrimarySheet() # 获取第⼀个画布first_sheet.setTitle('First Sheet') # 设置画布名称root_topic1 = first_sheet.getRootTopic() # 获取画布中⼼主题,默认创建画布时会新建⼀个空⽩中⼼主题root_topic1.setTitle('Example Topic') # 设置主题名称sub_topic1 = root_topic1.addSubTopic() # 创建⼦主题,并设置名称sub_topic1.setTitle("first sub topic")sub_topic2 = root_topic1.addSubTopic()sub_topic2.setTitle("second sub topic")sub_topic3 = root_topic1.addSubTopic()sub_topic3.setTitle("third sub topic")# 除了新建⼦主题,还可以创建⾃由主题(注意:只有中⼼主题⽀持创建⾃由主题)detached_topic1 = root_topic1.addSubTopic(topics_type=TOPIC_DETACHED) detached_topic1.setTitle("detached topic")detached_topic1.setPosition(0, 30)# 创建⼀个⼦主题的⼦主题sub_topic1_1 = sub_topic1.addSubTopic()sub_topic1_1.setTitle("I'm a sub topic too")second_sheet = workbook.createSheet() # 创建新画布second_sheet.setTitle('Second Sheet')root_topic2 = second_sheet.getRootTopic()root_topic2.setTitle('Root Node')# 使⽤其它⽅式创建⼦主题元素topic1 = TopicElement(ownerWorkbook=workbook)topic1.setTopicHyperlink(first_sheet.getID()) # 为画布创建⼀个来⾃第⼀个画布的主题链接topic1.setTitle("redirection to the first sheet")topic2 = TopicElement(ownerWorkbook=workbook)topic2.setTitle("topic with an url hyperlink")topic2.setURLHyperlink("https:///shouke") # 为⼦主题元素设置URL超链接topic3 = TopicElement(ownerWorkbook=workbook)topic3.setTitle("third node")topic3.setPlainNotes("notes for this topic") # 为⼦主题设置备注 (F4 in XMind)topic3.setTitle("topic with \n notes")topic4 = TopicElement(ownerWorkbook=workbook)topic4.setFileHyperlink("d:\\example\demo.jpg") # 为⼦主题元素设置⽂件超链接topic4.setTitle("topic with a file")topic1_1 = TopicElement(ownerWorkbook=workbook)topic1_1.setTitle("sub topic")topic1_1.addLabel("a label") # 为⼦主题添加标签(official XMind only can a one label )# 添加⼦主题到⾮中⼼主题topic1.addSubTopic(topic1_1)topic1_1_1 = TopicElement(ownerWorkbook=workbook)topic1_1_1.setTitle("topic can add multiple markers")# 为主题添加标记topic1_1_1.addMarker(MarkerId.starBlue)topic1_1_1.addMarker(MarkerId.flagGreen)# 为⼦主题添加⼦主题topic1_1.addSubTopic(topic1_1_1)topic2_1 = TopicElement(ownerWorkbook=workbook)topic2_1.setTitle("topic can add multiple comments")# 为主题添加评论topic2_1.addComment("I'm a comment!")topic2_1.addComment(content="Hello comment!", author='devin')topic2.addSubTopic(topic2_1)# 添加⼦主题元素到中⼼主题root_topic2.addSubTopic(topic1)root_topic2.addSubTopic(topic2)root_topic2.addSubTopic(topic3)root_topic2.addSubTopic(topic4)# 遍历⼦主题topics = root_topic2.getSubTopics()for index, topic in enumerate(topics):topic.addMarker("priority-" + str(index + 1)) # 为主题添加标记(优先级图标)# 为⼦主题1和⼦主题2创建关系second_sheet.createRelationship(topic1.getID(), topic2.getID(), "relationship test")# xmind.save(workbook) # 保存并覆盖原始⽂件# 仅保存content.xml# xmind.save(workbook=workbook, path="d:\\example\\other.xmind", only_content=True) # 不改动原始⽂件,另存为其它xmind⽂件# 仅保存content.xml、comments.xml、styles.xml# xmind.save(workbook=workbook, path="d:\\example\\other.xmind", except_revisions=True) # 不改动原始⽂件,另存为其它xmind⽂件# 保存所有东西,Revisions除外,以节省空间(推荐)# xmind.save(workbook=workbook, path="d:\\example\\other.xmind", except_revisions=True) # 不改动原始⽂件,另存为其它xmind⽂件# 保存所有内容,并且另存为其它xmind⽂件(推荐)xmind.save(workbook=workbook, path='d:\\example\\other.xmind') # 不改动原始⽂件,另存为其它xmind⽂件,等同 xmind.save(workbook, 'd:\\example\\exam.xmind')运⾏结果解析xmind⽂件#!/usr/bin/env python# -*- coding:utf-8 -*-import jsonimport xmindimport pipesdef dict_to_prettify_json(data):print(json.dumps(data, indent=4, separators=(',', ': ')))def custom_parse_xmind(workbook):elements = {}def _echo(tag, element, indent=0):title = element.getTitle()elements[element.getID()] = titleprint('\t' * indent, tag, ':', pipes.quote(title))def dump_sheet(sheet):root_topic = sheet.getRootTopic()_echo('RootTopic', root_topic, 1)for topic in root_topic.getSubTopics() or []:_echo('AttachedSubTopic', topic, 2)for topic in root_topic.getSubTopics(xmind.core.const.TOPIC_DETACHED) or []: _echo('DetachedSubtopic', topic, 2)for rel in sheet.getRelationships():id1, id2 = rel.getEnd1ID(), rel.getEnd2ID()print('Relationship: [%s] --> [%s]' % (elements.get(id1), elements.get(id2)))# 遍历画布for sheet in workbook.getSheets():_echo('Sheet', sheet)dump_sheet(sheet)# 加载已有xmind⽂件,如果不存在,则新建workbook = xmind.load('D:\\example\\example.xmind')print(workbook.getData()) # 获取整个xmind数据(字典的形式)dict_to_prettify_json(workbook.getData())# 获取某个画布的数据(字典的形式)first_sheet = workbook.getPrimarySheet()dict_to_prettify_json(first_sheet.getData())# 获取某个主题数据(字典的形式)root_topic = first_sheet.getRootTopic()dict_to_prettify_json(root_topic.getData())# 获取评论数据commentsbook = mentsbookprint(commentsbook.getData())# ⾃定义解析custom_parse_xmind(workbook)。
提效工具-python解析xmind文件及xmind用例统计
提效⼯具-python解析xmind⽂件及xmind⽤例统计现状每个公司都有⼀个维护测试case的系统,有⾃研的也有买的,⽐如QC, 禅道等等,QA往往习惯使⽤xmind等思维导图⼯具来编写测试⽤例,因为思路清晰,编写⽅便,那么这就有⼀个问题,⼤多公司要求所有的case都要导⼊到系统统⼀维护,然⽽系统对xmind的⽀持并不友好,或者根本不⽀持,就我们⽬前的情况来说,系统⽀持导⼊xmind ⽂件导⼊,但是导⼊后所有的⽤例都是乱的,⽽且没有测试步骤,没有预期结果等等问题,因此针对这⼀痛点,便诞⽣了今天的⼩⼯具,虽然这个⼯具只能解决我的问题,但是⾥⾯有⼤家可以学习参考的地⽅,希望对你有帮助,那么我的⽬的就达到了⼯具源码1"""2------------------------------------3@Time : 2020/9/24 3:21 PM4@Auth : linux超5@File : handleXmind.py6@IDE : PyCharm7@Motto: ABC(Always Be Coding)8------------------------------------9"""10import tkinter as tk11from tkinter import filedialog, messagebox12import xmind13import os14from xmindparser import xmind_to_dict151617class ParseXmind(object):1819def__init__(self, root):20 self.count = 021 self.case_fail = 022 self.case_success = 023 self.case_block = 024 self.case_priority = 025# total汇总⽤26 self.total_cases = 027 self.total_success = 028 self.total_fail = 029 self.total_block = 030 self.toal_case_priority = 031# GUI32 root.title('Xmind⽤例个数统计及⽂件解析')33 width = 76034 height = 60035 xscreen = root.winfo_screenwidth()36 yscreen = root.winfo_screenheight()37 xmiddle = (xscreen - width) / 238 ymiddle = (yscreen - height) / 239 root.geometry('%dx%d+%d+%d' % (width, height, xmiddle, ymiddle)) # 窗⼝默认⼤⼩4041# 3个frame42 self.frm1 = tk.Frame(root)43 self.frm2 = tk.Frame(root)44 self.frm3 = tk.Frame(root)45# 布局46 self.frm1.grid(row = 1, padx = '20', pady = '20')47 self.frm2.grid(row = 2, padx = '30', pady = '30')48 self.frm3.grid(row = 0, padx = '40', pady = '40')4950 ble = bel(self.frm3, text = "Xmind⽂件完整路径")51 ble.grid(row = 0, column = 0, pady = '5')52 self.file_path = tk.Entry(self.frm3, bd = 2)53 self.file_path.grid(row = 0, column = 1, pady = '5')5455def get_full_file_path_text():56"""57获取xmind⽂件完整路径58 :return:59"""59"""60 full_xmind_path = self.file_path.get() # 获取⽂本框内容61# 简单对输⼊内容做⼀个校验62if full_xmind_path == ""or"xmind"not in full_xmind_path:63 messagebox.showinfo(title = "warning", message = "xmind⽂件路径错误!")64try:65 self.create_new_xmind(full_xmind_path)66except FileNotFoundError:67pass68else:69 xmind_file = full_xmind_path[:-6].split("/")[-1] # xmind⽂件名,不带后缀70 path_list = full_xmind_path[:-6].split("/") # xmind⽂件⽤/分割后的⼀个列表71 path_list.pop(0)72 path_list.pop(-1)73 path_full = "/" + "/".join(path_list) # xmind⽂件的⽬录74 new_xmind_file = "{}/{}_new.xmind".format(path_full, xmind_file) # 新的xmind⽂件完整路径75 messagebox.showinfo(title = "success", message = "已⽣成新的xmind⽂件:{}".format(new_xmind_file)) 7677# 页⾯的⼀些空间的布局78 self.button = tk.Button(self.frm3, text = "提交", width = 10, command = get_full_file_path_text, bg = '#dfdfdf')79 self.button.grid(row = 0, column = 2, pady = '5')8081 self.but_upload = tk.Button(self.frm1, text = '上传xmind⽂件', command = self.upload_files, bg = '#dfdfdf')82 self.but_upload.grid(row = 0, column = 0, pady = '10')83 self.text = tk.Text(self.frm1, width = 55, height = 10, bg = '#f0f0f0')84 self.text.grid(row = 1, column = 0)85 self.but2 = tk.Button(self.frm2, text = "开始统计", command = self.new_lines, bg = '#dfdfdf')86 self.but2.grid(row = 0, columnspan = 6, pady = '10')87 bel_file = bel(self.frm2, text = "⽂件名", relief = 'groove', borderwidth = '2', width = 25,88 bg = '#FFD0A2')89 bel_file.grid(row = 1, column = 0)90 bel_case = bel(self.frm2, text = "⽤例数", relief = 'groove', borderwidth = '2', width = 10,91 bg = '#FFD0A2').grid(row = 1, column = 1)9293 bel_pass = bel(self.frm2, text = "成功", relief = 'groove', borderwidth = '2', width = 10,94 bg = '#FFD0A2').grid(row = 1, column = 2)95 bel_fail = bel(self.frm2, text = "失败", relief = 'groove', borderwidth = '2', width = 10,96 bg = '#FFD0A2').grid(row = 1, column = 3)97 bel_block = bel(self.frm2, text = "阻塞", relief = 'groove', borderwidth = '2', width = 10,98 bg = '#FFD0A2').grid(row = 1, column = 4)99 bel_case_priority = bel(self.frm2, text = "p0case", relief = 'groove', borderwidth = '2',100 width = 10, bg = '#FFD0A2').grid(row = 1, column = 5)101102def count_case(self, li):103"""104统计xmind中的⽤例数105 :param li:106 :return:107"""108for i in range(len(li)):109if li[i].__contains__('topics'): # 带topics标签意味着有⼦标题,递归执⾏⽅法110 self.count_case(li[i]['topics'])111else: # 不带topics意味着⽆⼦标题,此级别既是⽤例112if li[i].__contains__('makers'): # 有标记成功或失败时会有makers标签113for mark in li[i]['makers']:114if mark == "symbol-right": # 成功115 self.case_success += 1116elif mark == "symbol-wrong": # 失败117 self.case_fail += 1118elif mark == "symbol-attention": # 阻塞119 self.case_block += 1120elif mark == "priority-1": # 优先级121 self.case_priority += 1122 self.count += 1 # ⽤例总数123124def new_line(self, filename, row_number):125"""126⽤例统计表新增⼀⾏127 :param filename:128 :param row_number:129 :return:130"""131131132# 调⽤python中xmind_to_dict⽅法,将xmind转成字典133 sheets = xmind_to_dict(filename) # sheets是⼀个list,可包含多sheet页;134for sheet in sheets:135print(sheet)136 my_list = sheet['topic']['topics'] # 字典的值sheet['topic']['topics']是⼀个list137# print(my_list)138 self.count_case(my_list)139140# 插⼊⼀⾏统计数据141 lastname = filename.split('/')142 bel_file = bel(self.frm2, text = lastname[-1], relief = 'groove', borderwidth = '2', width = 25)143 bel_file.grid(row = row_number, column = 0)144145 bel_case = bel(self.frm2, text = self.count, relief = 'groove', borderwidth = '2', width = 10)146 bel_case.grid(row = row_number, column = 1)147 bel_pass = bel(self.frm2, text = self.case_success, relief = 'groove', borderwidth = '2',148 width = 10)149 bel_pass.grid(row = row_number, column = 2)150 bel_fail = bel(self.frm2, text = self.case_fail, relief = 'groove', borderwidth = '2', width = 10) 151 bel_fail.grid(row = row_number, column = 3)152 bel_block = bel(self.frm2, text = self.case_block, relief = 'groove', borderwidth = '2', width = 10) 153 bel_block.grid(row = row_number, column = 4)154 bel_case_priority = bel(self.frm2, text = self.case_priority, relief = 'groove', borderwidth = '2', 155 width = 10)156 bel_case_priority.grid(row = row_number, column = 5)157 self.total_cases += self.count158 self.total_success += self.case_success159 self.total_fail += self.case_fail160 self.total_block += self.case_block161 self.toal_case_priority += self.case_priority162163def new_lines(self):164"""165⽤例统计表新增多⾏166 :return:167"""168169 lines = self.text.get(1.0, tk.END) # 从text中获取所有⾏170 row_number = 2171for line in lines.splitlines(): # 分隔成每⾏172if line == '':173break174print(line)175 self.new_line(line, row_number)176 row_number += 1177178# total汇总⾏179 bel_file = bel(self.frm2, text = 'total', relief = 'groove', borderwidth = '2', width = 25)180 bel_file.grid(row = row_number, column = 0)181 bel_case = bel(self.frm2, text = self.total_cases, relief = 'groove', borderwidth = '2', width = 10) 182 bel_case.grid(row = row_number, column = 1)183184 bel_pass = bel(self.frm2, text = self.total_success, relief = 'groove', borderwidth = '2',185 width = 10)186 bel_pass.grid(row = row_number, column = 2)187 bel_fail = bel(self.frm2, text = self.total_fail, relief = 'groove', borderwidth = '2', width = 10) 188 bel_fail.grid(row = row_number, column = 3)189 bel_block = bel(self.frm2, text = self.total_block, relief = 'groove', borderwidth = '2',190 width = 10)191 bel_block.grid(row = row_number, column = 4)192193 bel_case_priority = bel(self.frm2, text = self.toal_case_priority, relief = 'groove',194 borderwidth = '2',195 width = 10)196 bel_case_priority.grid(row = row_number, column = 5)197198def upload_files(self):199"""200上传多个⽂件,并插⼊text中201 :return:202"""202"""203 select_files = tk.filedialog.askopenfilenames(title = "可选择1个或多个⽂件") 204for file in select_files:205 self.text.insert(tk.END, file + '\n')206 self.text.update()207208 @staticmethod209def parse_xmind(path):210"""211 xmind变为⼀个字典212 :param path:213 :return:214"""215 dic_xmind = xmind_to_dict(path)216 xmind_result = dic_xmind[0]217return xmind_result218219def create_new_xmind(self, path):220"""221⽤原xmind内容新建⼀个xmind⽂件222 :param path:223 :return:224"""225 xmind_result = self.parse_xmind(path)226 new_xmind_result = self.dict_result(xmind_result)227 xmind_file = path[:-6].split("/")[-1]228 path_list = path[:-6].split("/")229 path_list.pop(0)230 path_list.pop(-1)231 path_full = "/" + "/".join(path_list)232 new_xmind_file = "{}/{}_new.xmind".format(path_full, xmind_file)233print(new_xmind_file)234if os.path.exists(new_xmind_file):235 os.remove(new_xmind_file)236 xmind_wb = xmind.load(new_xmind_file)237 new_xmind_sheet = xmind_wb.getSheets()[0]238 new_xmind_sheet.setTitle(new_xmind_result["sheet_topic_name"])239 root_topic = new_xmind_sheet.getRootTopic()240 root_topic.setTitle(new_xmind_result["sheet_topic_name"])241for k, v in new_xmind_result["data"].items():242 topic = root_topic.addSubTopic()243 topic.setTitle(k)244for value in v:245 new_topic = topic.addSubTopic()246 new_topic.setTitle(value)247 xmind.save(xmind_wb)248249def dict_result(self, xmind_result):250"""251使⽤原xmind数据构造new_xmind_result252 :param xmind_result:253 :return:254"""255 sheet_name = xmind_result['title']256 sheet_topic_name = xmind_result['topic']['title'] # 中⼼主题名称257 new_xmind_result = {258'sheet_name': sheet_name,259'sheet_topic_name': sheet_topic_name,260'data': {}261 }262 title_list = []263for i in xmind_result['topic']['topics']:264 title_temp = i['title']265 title_list.append(title_temp)266 result_list = self.chain_data(i)267 new_xmind_result['data'][title_temp] = result_list268return new_xmind_result269270 @staticmethod271def chain_data(data):272"""273原xmind的所有topic连接成⼀个topic274 :param data:274 :param data:275 :return:276"""277 new_xmind_result = []278279def calculate(s, prefix):280 prefix += s['title'] + '->'281for t in s.get('topics', []):282 s1 = calculate(t, prefix)283if s1 is not None:284 new_xmind_result.append(s1.strip('->'))285if not s.get('topics', []):286return prefix287288 calculate(data, '')289return new_xmind_result290291292if__name__ == '__main__':293 r = ()294 ParseXmind(r)295 r.mainloop()⼯具打包⽬前我打的是mac系统的包,打完包可以放到任意⼀个mac电脑上使⽤(windows版本打包可以⾃⾏百度,很简单)1.pip安装py2app2.待打包⽂件⽬录下执⾏命令py2applet --make-setup baba.py3.执⾏命令python setup.py py2app4.⽣成的app在dist⽂件夹内,双击即可运⾏⼯具界⾯⼯具功能1.格式化xmind测试case2.统计xmind测试case通过,失败,阻塞,p0级case数量⼯具使⽤1.xmind格式化输⼊框需要输⼊xmind⽂件的完整路径->点击[提交]->⽣成新的xmind⽂件(新⽂件与原始xmind在⼀个⽬录下)->新的xmind导⼊aone(我们⽬前的⽤例管理⼯具)即可2.⽤例统计xmind⽤例标记规则标记表⽰p0级别case标记表⽰p0级别case标记表⽰执⾏通过case标记表⽰执⾏失败case标记表⽰执⾏阻塞case开始统计上传xmind⽂件(⽀持上传多个xmind⽂件)->点击[开始统计]->展⽰成功,失败,阻塞,p0case统计数⼯具效果1.xmind格式化及导⼊aone原xmind⽂件测试case导⼊aone效果导⼊后的测试case名称混乱,很难按照这种格式来执⾏测试,如果不经过修改⽆法作为业务测试的沉淀,更不⽤说其他⼈⽤这样的测试case来进⾏业务测试了格式化后的xmind测试case⼯具把所有的xmind 的节点进⾏了⼀个拼接,这样看起来case的步骤也清晰很多导⼊aoneaone上展⽰的⽤例名称,可以显⽰完整的case的执⾏步骤,不需要再在case内部补充测试步骤,也不需要做多余的case维护2.⽤例统计。