一、工具开发场景:
由于领导要求每周、每月进行测试组总结,于是就从需求评审、用例编写、提交bug、接口测试数、测试报告总结等几个方面进行了统计。
用例平时在xmind上编写的,不好统计用例条数,于是就开发了此工具。
代码已提供,需要的可自取~
二、讲解方案
1、电脑桌面获取桌面文件;
# -*- coding: utf-8 -*-
'''
@Time : 2022/10/27 14:34
@Author : Celeste
@File : count_case.py
'''
import winreg
from xmindparser import xmind_to_dict
import os
class Func():
def __init__(self): #累加计数方法
self.count1 = 0
#获取桌面文件
def get_desktop(self):
key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, r'Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders')
return winreg.QueryValueEx(key, "Desktop")[0]
2、桌面找到xmind文件,读取xmind用例转为json格式;
#读取xmind文件,转为json格式
def read_xmind(self):
desk_file = str(self.get_desktop())
for files in os.listdir(desk_file):
if files.endswith(".xmind"):
xmind_file = desk_file+'\\'+files
out = xmind_to_dict(xmind_file)
story = out[0]['topic']['topics']
return story
3、统计xmind中用例数
#遍历json格式,计算xmind中最后一条用例数据
def count_case(self,story):
#count1 = 0
for i in story:
if "topics" not in i.keys() and "title" in i.keys():
self.count1 += 1
#print(self.count1)
else:
for k,v in i.items():
if "topics" == k:
self.count_case(v)
else:
continue
return self.count1
if __name__ == '__main__':
p = Func()
a = p.read_xmind()
b = p.count_case(a)
print(b)
4、如何使用
三、总结
1、该工具使用,目前只适用于统计桌面一个xmind文件;
2、准备后续做成exe桌面GUI工具,xmind文件放哪里都可以使用
3、工具支持一键导入多个xmind文件一起统计