电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

使用Python將xmind腦圖轉(zhuǎn)成excel用例的實(shí)現(xiàn)代碼(一)

瀏覽:21日期:2022-07-08 15:29:28

最近接到一個領(lǐng)導(dǎo)需求,將xmind腦圖直接轉(zhuǎn)成可以導(dǎo)入的excel用例,并且轉(zhuǎn)換成gui可執(zhí)行的exe文件,方便他人使用。

因?yàn)閷ython比較熟悉,所以就想使用Python3來實(shí)現(xiàn)這個功能,先理一下思路,首先要將xmind轉(zhuǎn)換成Python可用的數(shù)據(jù)格式,正好找到了一個xmindparser庫可以做這個事情,然后就好辦了,用xlwt庫寫成xls文件,再用Python自帶的gui庫 tkinter來寫 gui界面,最后用pyinstaller來打包。

計(jì)劃分兩個py文件來寫,一個文件寫excel ,一個文件寫gui界面,因?yàn)樾枰獙?dǎo)入的字段比較多,而且導(dǎo)入的格式有嚴(yán)格的要求,所以寫excel的邏輯還是有點(diǎn)復(fù)雜的,所以我們確定xmind的文件有相應(yīng)的格式來寫,測試編號 測試需求 測試用例標(biāo)題 測試用例執(zhí)行步驟 測試用例預(yù)期結(jié)果 測試用例預(yù)置條件都要按照相應(yīng)的格式來。格式如圖

使用Python將xmind腦圖轉(zhuǎn)成excel用例的實(shí)現(xiàn)代碼(一)

通過xmindparser解析出來的格式是這樣的,是Python的字典加列表的格式

使用Python將xmind腦圖轉(zhuǎn)成excel用例的實(shí)現(xiàn)代碼(一)

from xmindparser import xmind_to_dictimport reimport xlwtclass xmind_to_xls(): def xmind_num(self,value): '''獲取xmind標(biāo)題個數(shù)''' try: return len(value[’topics’]) except KeyError: return 0 def xmind_title(self,value): '''獲取xmind標(biāo)題內(nèi)容''' return value[’title’] def xmind_cat(self,filename): ’’’調(diào)試函數(shù),打印內(nèi)容用的’’’ self.out = xmind_to_dict(filename) self.story = self.out[0][’topic’][’topics’] self.num=len(self.story) print(self.out) print(self.out[0][’topic’][’title’]) return self.story,self.num def write_excel(self,xmind_file,servicename=’’,editionname=’’,performer=’’): ’’’生成excel文件函數(shù)’’’ self.f=xlwt.Workbook() self.sheet1 =self.f.add_sheet(’sheet1’,cell_overwrite_ok=True) self.row0 = ['storyid', ’需求名稱’, ’測試用例名稱’, ’執(zhí)行步驟’, ’預(yù)期結(jié)果’, ’服務(wù)名稱’, ’版本’, ’執(zhí)行人員’] #生成第一行 for i in range(0,len(self.row0)): self.sheet1.write(0,i,self.row0[i]) self.out = xmind_to_dict(xmind_file) self.xls_name=self.out[0][’topic’][’title’] self.story = self.out[0][’topic’][’topics’] self.storynum = len(self.story) j=1 #用例計(jì)算器 z = 0 # 用例結(jié)果數(shù)計(jì)數(shù)器 for i in range(0, self.storynum): self.storyname = self.story[i][’title’] print(self.storyname) self.regex_str = '.*[[【](.+?)[]】].*' self.storyid_reg = re.match(self.regex_str, self.storyname) if self.storyid_reg: self.storyid=self.storyid_reg.group(1)#正則取出用例編號 #print(self.storyid_reg.group(1)) self.testcase_num=self.xmind_num(self.story[i][’topics’][0]) for k in range(0,self.testcase_num): self.testcase=self.story[i][’topics’][0][’topics’][k] self.testcase_name =self.xmind_title(self.testcase) self.testcase_stepnum=self.xmind_num(self.testcase) #每個用例的步驟數(shù)量 self.sheet1.write(k + i + z + j, 2, self.testcase_name) self.sheet1.write(k + i + z + j, 0, self.storyid) self.sheet1.write(k + i + z + j, 1, self.storyname) self.sheet1.write(k + i + z + j, 5, servicename) self.sheet1.write(k + i + z + j, 6, editionname) self.sheet1.write(k + i + z + j, 7, performer) for x in range(0,self.testcase_stepnum): self.testcase_step=self.testcase[’topics’][x] self.teststep_title=self.xmind_title(self.testcase_step) #用例步驟名稱 self.teststep_num=self.xmind_num(self.testcase_step) #用例步驟個數(shù) if self.teststep_num != 0: for y in range(0,self.teststep_num): self.test_results=self.testcase_step[’topics’][y] self.test_result=self.xmind_title(self.test_results)#用例結(jié)果 self.sheet1.write(k + i + z + j+y+1, 3, self.teststep_title) self.sheet1.write(k + i + z + j + y+1, 4, self.test_result) z = z + y+1 else: self.test_result=’ ’ self.sheet1.write(k + i + z + j+1 , 3, self.teststep_title) self.sheet1.write(k + i + z + j+1 , 4, self.test_result) z = z + 1 j=j+k self.f.save(self.xls_name+’.xls’) #xls名稱取xmind主題名稱if __name__ == ’__main__’: xmind_file = 'C:UsersAdministratorDesktop版本測試.xmind' # xmind文件 servicename=’aa’ editionname=’bb’ performer=’cc’ #xmind_to_xls().write_excel(xmind_file,servicename,editionname,performer) xmind_to_xls().xmind_cat(xmind_file)

到此這篇關(guān)于使用Python將xmind腦圖轉(zhuǎn)成excel用例的實(shí)現(xiàn)代碼(一)的文章就介紹到這了,更多相關(guān)Python xmind轉(zhuǎn)excel用例內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: python
相關(guān)文章:
主站蜘蛛池模板: 水成膜泡沫灭火剂_氟蛋白泡沫液_河南新乡骏华消防科技厂家 | 一路商机网-品牌招商加盟优选平台-加盟店排行榜平台 | 运动木地板厂家_体育木地板安装_篮球木地板选购_实木运动地板价格 | 电动垃圾车,垃圾清运车-江苏速利达机车有限公司 | 雨燕360体育免费直播_雨燕360免费NBA直播_NBA篮球高清直播无插件-雨燕360体育直播 | 海日牌清洗剂-打造带电清洗剂、工业清洗剂等清洗剂国内一线品牌 海外整合营销-独立站营销-社交媒体运营_广州甲壳虫跨境网络服务 | 冷轧机|两肋冷轧机|扁钢冷轧机|倒立式拉丝机|钢筋拔丝机|收线机-巩义市华瑞重工机械制造有限公司 | 合肥网带炉_安徽箱式炉_钟罩炉-合肥品炙装备科技有限公司 | 土壤养分检测仪_肥料养分检测仪_土壤水分检测仪-山东莱恩德仪器 大型多片锯,圆木多片锯,方木多片锯,板材多片锯-祥富机械有限公司 | 翻斗式矿车|固定式矿车|曲轨侧卸式矿车|梭式矿车|矿车配件-山东卓力矿车生产厂家 | 润东方环保空调,冷风机,厂房车间降温设备-20年深圳环保空调生产厂家 | PVC地板|PVC塑胶地板|PVC地板厂家|地板胶|防静电地板-无锡腾方装饰材料有限公司-咨询热线:4008-798-128 | 中细软知识产权_专业知识产权解决方案提供商 | 茶楼装修设计_茶馆室内设计效果图_云臻轩茶楼装饰公司 | 低温等离子清洗机(双气路进口)-嘉润万丰 | 塑料托盘厂家直销-吹塑托盘生产厂家-力库塑业【官网】 | 众品家具网-家具品牌招商_家具代理加盟_家具门户的首选网络媒体。 | 黑田精工电磁阀-CAMMOZI气缸-ROSS电磁-上海茂硕机械设备有限公司 | 帽子厂家_帽子工厂_帽子定做_义乌帽厂_帽厂_制帽厂_帽子厂_浙江高普制帽厂 | 水轮机密封网 | 水轮机密封产品研发生产厂家 | 安徽净化板_合肥岩棉板厂家_玻镁板厂家_安徽科艺美洁净科技有限公司 | 派克防爆伺服电机品牌|国产防爆伺服电机|高低温伺服电机|杭州摩森机电科技有限公司 | 吸污车_吸粪车_抽粪车_电动三轮吸粪车_真空吸污车_高压清洗吸污车-远大汽车制造有限公司 | 立刷【微电签pos机】-嘉联支付立刷运营中心 | 安徽免检低氮锅炉_合肥燃油锅炉_安徽蒸汽发生器_合肥燃气锅炉-合肥扬诺锅炉有限公司 | 桨叶搅拌机_螺旋挤压/方盒旋切造粒机厂家-无锡市鸿诚输送机械有限公司 | 一礼通 (www.yilitong.com)-企业礼品解决方案一站式服务平台 | HYDAC过滤器,HYDAC滤芯,现货ATOS油泵,ATOS比例阀-东莞市广联自动化科技有限公司 | 微信聊天记录恢复_手机短信删除怎么恢复_通讯录恢复软件下载-快易数据恢复 | 路斯特伺服驱动器维修,伦茨伺服驱动器维修|万骏自动化百科 | 青海电动密集架_智能密集架_密集架价格-盛隆柜业青海档案密集架厂家 | 水平垂直燃烧试验仪-灼热丝试验仪-漏电起痕试验仪-针焰试验仪-塑料材料燃烧检测设备-IP防水试验机 | 行星齿轮减速机,减速机厂家,山东减速机-淄博兴江机械制造 | 钢木实验台-全钢实验台-化验室通风柜-实验室装修厂家-杭州博扬实验设备 | 依维柯自动挡房车,自行式国产改装房车,小型房车价格,中国十大房车品牌_南京拓锐斯特房车 - 南京拓锐斯特房车 | 武汉天安盾电子设备有限公司 - 安盾安检,武汉安检门,武汉安检机,武汉金属探测器,武汉测温安检门,武汉X光行李安检机,武汉防爆罐,武汉车底安全检查,武汉液体探测仪,武汉安检防爆设备 | 高压直流电源_特种变压器_变压器铁芯-希恩变压器定制厂家 | 中天寰创-内蒙古钢结构厂家|门式刚架|钢结构桁架|钢结构框架|包头钢结构煤棚 | 禹城彩钢厂_钢结构板房_彩钢复合板-禹城泰瑞彩钢复合板加工厂 | 好杂志网-首页 | 阻垢剂,反渗透阻垢剂,缓蚀阻垢剂-山东普尼奥水处理科技有限公司 真空粉体取样阀,电动楔式闸阀,电动针型阀-耐苛尔(上海)自动化仪表有限公司 |