欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2020年10月12日 10:38:23   作者:晚風拂面  
這篇文章主要介紹了使用Python將xmind腦圖轉成excel用例的實現(xiàn)代碼(一),本文給大家介紹的非常詳細對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

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

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

計劃分兩個py文件來寫,一個文件寫excel ,一個文件寫gui界面,因為需要導入的字段比較多,而且導入的格式有嚴格的要求,所以寫excel的邏輯還是有點復雜的,所以我們確定xmind的文件有相應的格式來寫,測試編號 測試需求 測試用例標題 測試用例執(zhí)行步驟 測試用例預期結果 測試用例預置條件都要按照相應的格式來。格式如圖

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

from xmindparser import xmind_to_dict
import re
import xlwt

class xmind_to_xls():
 def xmind_num(self,value):
  """獲取xmind標題個數(shù)"""
  try:
   return len(value['topics'])
  except KeyError:
   return 0

 def xmind_title(self,value):
  """獲取xmind標題內(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í)行步驟', '預期結果', '服務名稱', '版本', '執(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 #用例計算器
  z = 0 # 用例結果數(shù)計數(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)#用例結果
       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)

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

相關文章

  • tensorflow中next_batch的具體使用

    tensorflow中next_batch的具體使用

    本篇文章主要介紹了tensorflow中next_batch的具體使用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • python3中函數(shù)參數(shù)的四種簡單用法

    python3中函數(shù)參數(shù)的四種簡單用法

    這篇文章主要介紹了python3中函數(shù)參數(shù)的四種簡單用法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-07-07
  • 十個Python經(jīng)典小游戲的代碼合集

    十個Python經(jīng)典小游戲的代碼合集

    這篇文章主要為大家分享十個Python經(jīng)典的小游戲代碼,非常適合Python初學者練手。文中的示例代碼講解詳細,感興趣的小伙伴可以嘗試一下
    2022-05-05
  • 基于Python實現(xiàn)的車牌識別系統(tǒng)

    基于Python實現(xiàn)的車牌識別系統(tǒng)

    本文將以基于Python的車牌識別系統(tǒng)實現(xiàn)為方向,介紹車牌識別技術的基本原理、常用算法和方法,并詳細講解如何利用Python語言實現(xiàn)一個完整的車牌識別系統(tǒng),需要的朋友可以參考下
    2023-10-10
  • python 模擬在天空中放風箏的示例代碼

    python 模擬在天空中放風箏的示例代碼

    這篇文章主要介紹了python 模擬放風箏的示例代碼,幫助大家更好的利用python處理圖像,感興趣的朋友可以了解下
    2021-04-04
  • pandas初學者容易犯的六個錯誤總結

    pandas初學者容易犯的六個錯誤總結

    Pandas是Python的一個數(shù)據(jù)分析包,該工具為解決數(shù)據(jù)分析任務而創(chuàng)建,Pandas納入大量庫和標準數(shù)據(jù)模型,提供高效的操作數(shù)據(jù)集所需的工具,這篇文章主要給大家介紹了總結介紹了pandas初學者容易犯的六個錯誤,需要的朋友可以參考下
    2021-10-10
  • 利用python操作SQLite數(shù)據(jù)庫及文件操作詳解

    利用python操作SQLite數(shù)據(jù)庫及文件操作詳解

    這篇文章主要給大家介紹了關于利用python操作SQLite數(shù)據(jù)庫及文件操作的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2017-09-09
  • python中cv2模塊如何安裝使用

    python中cv2模塊如何安裝使用

    這篇文章主要給大家介紹了關于python中cv2模塊如何安裝的相關資料,CV2指的是OpenCV2(Open?Source?Computer?Vision?Library),是一個開源的庫平臺計算機視覺庫,有很強大的圖片處理功能,可實現(xiàn)圖像處理和計算機視覺方面的很多通用算法,需要的朋友可以參考下
    2023-10-10
  • Pandas?多進程處理數(shù)據(jù)提高速度

    Pandas?多進程處理數(shù)據(jù)提高速度

    這篇文章主要介紹了Pandas?多進程處理數(shù)據(jù)提高速度,Pandas多進程的方法,pandarallel?庫,下面具體的測試方法,需要的朋友可以參考一下,希望對你的學習有所幫助
    2022-04-04
  • Python繼承和子類從Person到Student演示實例

    Python繼承和子類從Person到Student演示實例

    這篇文章主要為大家介紹了Python繼承和子類從Person到Student演示實例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10

最新評論