最近接到一个领导需求,将xmind脑图直接转成可以导入的excel用例,并且转换成gui可执行的exe文件,方便他人使用。
因为对Python比较熟悉,所以就想使用Python3来实现这个功能,先理一下思路,首先要将xmind转换成Python可用的数据格式,正好找到了一个xmindparser库可以做这个事情,然后就好办了,用xlwt库写成xls文件,再用Python自带的gui库 tkinter来写 gui界面,最后用pyinstaller来打包。
计划分两个py文件来写,一个文件写excel ,一个文件写gui界面,因为需要导入的字段比较多,而且导入的格式有严格的要求,所以写excel的逻辑还是有点复杂的,所以我们确定xmind的文件有相应的格式来写,测试编号 测试需求 测试用例标题 测试用例执行步骤 测试用例预期结果 测试用例预置条件都要按照相应的格式来。格式如图
通过xmindparser解析出来的格式是这样的,是Python的字典加列表的格式
from xmindparser import xmind_to_dict import re import xlwt class xmind_to_xls(): def xmind_num(self,value): """获取xmind标题个数""" try: return len(value['topics']) except KeyError: return 0 def xmind_title(self,value): """获取xmind标题内容""" return value['title'] def xmind_cat(self,filename): '''调试函数,打印内容用的''' 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文件函数''' self.f=xlwt.Workbook() self.sheet1 =self.f.add_sheet('sheet1',cell_overwrite_ok=True) self.row0 = ["storyid", '需求名称', '测试用例名称', '执行步骤', '预期结果', '服务名称', '版本', '执行人员'] #生成第一行 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 #用例计算器 z = 0 # 用例结果数计数器 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) #每个用例的步骤数量 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) #用例步骤个数 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)#用例结果 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:\\Users\\Administrator\\Desktop\\版本测试.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)
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 【雨果唱片】中国管弦乐《鹿回头》WAV
- APM亚流新世代《一起冒险》[FLAC/分轨][106.77MB]
- 崔健《飞狗》律冻文化[WAV+CUE][1.1G]
- 罗志祥《舞状元 (Explicit)》[320K/MP3][66.77MB]
- 尤雅.1997-幽雅精粹2CD【南方】【WAV+CUE】
- 张惠妹.2007-STAR(引进版)【EMI百代】【WAV+CUE】
- 群星.2008-LOVE情歌集VOL.8【正东】【WAV+CUE】
- 罗志祥《舞状元 (Explicit)》[FLAC/分轨][360.76MB]
- Tank《我不伟大,至少我能改变我。》[320K/MP3][160.41MB]
- Tank《我不伟大,至少我能改变我。》[FLAC/分轨][236.89MB]
- CD圣经推荐-夏韶声《谙2》SACD-ISO
- 钟镇涛-《百分百钟镇涛》首批限量版SACD-ISO
- 群星《继续微笑致敬许冠杰》[低速原抓WAV+CUE]
- 潘秀琼.2003-国语难忘金曲珍藏集【皇星全音】【WAV+CUE】
- 林东松.1997-2039玫瑰事件【宝丽金】【WAV+CUE】