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)
相关推荐
若天明36 分钟前
深度学习-计算机视觉-微调 Fine-tune
人工智能·python·深度学习·机器学习·计算机视觉·ai·cnn
倔强青铜三1 小时前
苦练Python第39天:海象操作符 := 的入门、实战与避坑指南
人工智能·python·面试
一百天成为python专家2 小时前
Python循环语句 从入门到精通
开发语言·人工智能·python·opencv·支持向量机·计算机视觉
Sunhen_Qiletian2 小时前
朝花夕拾(五)--------Python 中函数、库及接口的详解
开发语言·python
三年呀3 小时前
标题:移动端安全加固:发散创新,筑牢安全防线引言:随着移动互联网
网络·python·安全
关山4 小时前
MCP实战
python·ai编程·mcp
悠哉悠哉愿意4 小时前
【Python语法基础学习笔记】if语句
笔记·python·学习
Q_Q19632884754 小时前
python的电影院座位管理可视化数据分析系统
开发语言·spring boot·python·django·flask·node.js·php
BYSJMG5 小时前
计算机大数据毕业设计推荐:基于Hadoop+Spark的食物口味差异分析可视化系统【源码+文档+调试】
大数据·hadoop·分布式·python·spark·django·课程设计
杜子不疼.5 小时前
《Python学习之第三方库:开启无限可能》
开发语言·python·学习