python解析xmind统计测试用例/测试点 个数及执行情况

前言:统计的是每个分支最后一个节点的状态

xmind版本 23.0911172

  • 标记打开位置

  • 标记规则如下

    解释:

python 复制代码
    res = {"total": 0, "pass": 0, "fail": 0, "no_result": 0, "unfinished": 0, "now_fail": 0, "other": 0}
    # total= pass +  no_result+unfinished+ now_fail +other
    # total 用例总数
    #  pass 通过总数 含有"勾"的用例数
    # fail 失败总数 通过总数 含有"感叹号"的用例数
    # no_result 未进行任何标记 不含有任何标记的用例数
    # unfinished 未完成标记 含有"暂停"的用例数
    # now_fail 仍未通过 仅含有"感叹号"的用例数
    # other 其它符号标  
  • 完整代码如下
python 复制代码
from xmindparser import xmind_to_dict
import json

# 计算标记
def statistics(data):
    res["total"] = res["total"] + 1
    # 计算标记图案
    if data.get("makers"):
        # 至少一个标记
        if len(data["makers"]) >= 1:
            # 统计现在仍然只有失败标签的用例
            if len(data["makers"]) == 1 and data["makers"][0] == "symbol-exclam":
                res["now_fail"] = res["now_fail"] + 1
            # 遍历标记--所有图标
            for i in data["makers"]:
                if i == "task-done":
                    res["pass"] = res["pass"] + 1
                elif i == "symbol-exclam":
                    res["fail"] = res["fail"] + 1
                elif i == "task-start":
                    res["unfinished"] = res["unfinished"] + 1
                else:
                    res["other"] = res["other"] + 1
    else:  # 没有标记
        res["no_result"] = res["no_result"] + 1



def recursion(testcase):
    # 递归查询
    for i in testcase:
        if isinstance(i, dict):
            if i.get("topics") is None:
                statistics(i)
            else:
                recursion(i["topics"])
        else:
            recursion(i)


if __name__ == '__main__':
	# 路径
    out = xmind_to_dict(r"C:\Users\Administrator\Desktop\测试项目.xmind")
    test_case = out[0]["topic"]["topics"]
    res = {"total": 0, "pass": 0, "fail": 0, "no_result": 0, "unfinished": 0, "now_fail": 0, "other": 0}
    recursion(test_case)
    print(res)
相关推荐
Envyᥫᩣ14 分钟前
Python中的自然语言处理:从基础到高级
python·自然语言处理·easyui
哪 吒15 分钟前
华为OD机试 - 几何平均值最大子数(Python/JS/C/C++ 2024 E卷 200分)
javascript·python·华为od
我是陈泽18 分钟前
一行 Python 代码能实现什么丧心病狂的功能?圣诞树源代码
开发语言·python·程序员·编程·python教程·python学习·python教学
hakesashou18 分钟前
python全栈开发是什么?
python
创作小达人37 分钟前
家政服务|基于springBoot的家政服务平台设计与实现(附项目源码+论文+数据库)
开发语言·python
ZPC82101 小时前
Python使用matplotlib绘制图形大全(曲线图、条形图、饼图等)
开发语言·python·matplotlib
镜花照无眠1 小时前
Python爬虫使用实例-mdrama
开发语言·爬虫·python
aaasssdddd961 小时前
python和c
c语言·开发语言·python
爱写代码的小朋友1 小时前
Python的几个高级特性
python
Eric.Lee20211 小时前
数据集-目标检测系列- 螃蟹 检测数据集 crab >> DataBall
python·深度学习·算法·目标检测·计算机视觉·数据集·螃蟹检测