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)
相关推荐
梧桐树04292 小时前
python常用内建模块:collections
python
Dream_Snowar2 小时前
速通Python 第三节
开发语言·python
蓝天星空3 小时前
Python调用open ai接口
人工智能·python
jasmine s3 小时前
Pandas
开发语言·python
郭wes代码3 小时前
Cmd命令大全(万字详细版)
python·算法·小程序
leaf_leaves_leaf3 小时前
win11用一条命令给anaconda环境安装GPU版本pytorch,并检查是否为GPU版本
人工智能·pytorch·python
夜雨飘零13 小时前
基于Pytorch实现的说话人日志(说话人分离)
人工智能·pytorch·python·声纹识别·说话人分离·说话人日志
404NooFound4 小时前
Python轻量级NoSQL数据库TinyDB
开发语言·python·nosql
天天要nx4 小时前
D102【python 接口自动化学习】- pytest进阶之fixture用法
python·pytest
minstbe4 小时前
AI开发:使用支持向量机(SVM)进行文本情感分析训练 - Python
人工智能·python·支持向量机