首頁 > 軟體

Xmind用例匯入到TAPD的解決方案

2022-07-28 14:02:00

概述

本方案使用的是,參考開源專案XMind2TestCase的實現邏輯,按照TAPD匯入的格式,把XMind2TestCase專案的表頭以及資料做一定修改,使生成的資料符合tapd的匯入要求。

XMind2TestCase專案介紹

XMind2TestCase ,該工具基於 Python 實現,通過制定測試用例通用模板
然後使用 XMind 這款廣為流傳且開源的思維導圖工具進行用例設計。
其中制定測試用例通用模板是一個非常核心的步驟(具體請看(附件包裡面doc/readme)),有了通用的測試用例模板,我們就可以在 XMind 檔案上解析並提取出測試用例所需的基本資訊,
然後合成常見測試用例管理系統所需的用例匯入檔案。這樣就將 XMind 設計測試用例的便利常見測試用例系統的高效管理結合起來了!
當前 XMind2TestCase 已實現從 XMind 檔案到 TestLink 和 Zentao(禪道) 兩大常見用例管理系統的測試用例轉換,同時也提供 XMind 檔案解析後的兩種資料介面
(TestSuites、TestCases兩種級別的JSON資料),方便快速與其他測試用例管理系統打通。

專案地址:XMind2TestCase
專案介紹及使用(網路硬碟包裡面):xmind2testcase-masterREADME.md(這個必看,不然不知知道怎麼實現喔!!!)

百度網路硬碟連結

連結: https://pan.baidu.com/s/1VDTyBd5_QDPc7kfgjuvWHw?pwd=e15m 提取碼: e15m 

具體修改點

#修改表頭
def xmind_to_zentao_csv_file(xmind_file):
    """Convert XMind file to a zentao csv file"""
    xmind_file = get_absolute_path(xmind_file)  #路徑處理
    logging.info('Start converting XMind file(%s) to zentao file...', xmind_file)
    testcases = get_xmind_testcase_list(xmind_file) #解析xmind檔案,得到原始資料
    # print("testcases",testcases)
    #fileheader =      ["所屬模組","用例標題","前置條件","步驟", "預期", "關鍵詞>用例狀態", "優先順序", "用例型別", "適用階段?"]
    fileheader_tapd = ["用例目錄","用例名稱","需求ID","前置條件","用例步驟","預期結果","用例型別","用例狀態","用例等級","建立人","測試結果","備註說明"]
 
    zentao_testcase_rows = [fileheader_tapd]
    for testcase in testcases:
        #row = gen_a_testcase_row(testcase)
        row = gen_a_testcase_row_tapd(testcase)
        zentao_testcase_rows.append(row)
    zentao_file = xmind_file[:-6] + '.csv'
    if os.path.exists(zentao_file):  #判斷括號裡的檔案是否存在
        os.remove(zentao_file)
        # logging.info('The zentao csv file already exists, return it directly: %s', zentao_file)
        # return zentao_file
 
    with open(zentao_file, 'w', encoding='utf8') as f:
        writer = csv.writer(f)
        writer.writerows(zentao_testcase_rows)
        logging.info('Convert XMind file(%s) to a zentao csv file(%s) successfully!', xmind_file, zentao_file)
 
    return zentao_file
    
#修改為tapd的資料格式、增加獲取需求ID
def gen_a_testcase_row_tapd(testcase_dict):
 
    #用例標題
    case_title = testcase_dict['name']
    #需求ID         產品名稱裡的目錄獲取  
    requirement_id, product_catalog = gen_requirement_id(testcase_dict['product'])
    # 所屬模組
    case_module =product_catalog +"-" + gen_case_module(testcase_dict['suite'])
 
    #前置條件
    case_precontion = testcase_dict['preconditions']
    #步驟       預期結果
    case_step, case_expected_result = gen_case_step_and_expected_result(testcase_dict['steps'])
    #用例型別
    case_type = gen_case_type(testcase_dict['execution_type'])
    # case_type = "功能測試"
    #用例狀態
    case_status = "正常"
    #用例等級
    case_priority = gen_case_priority(testcase_dict['importance'])
    #建立人
    case_created_by = ""
    #測試結果
    case_actual_result= ""
 
    row = [case_module,case_title,requirement_id,case_precontion,case_step,case_expected_result,case_type,case_status,case_priority,case_created_by,case_actual_result]
    return row
 
#修改用例型別
def get_execution_type(topics):
    labels = [topic.get('label', '') for topic in topics]
    labels = filter_empty_or_ignore_element(labels)
    exe_type = 1
    for item in labels[::-1]:
        if item.lower() in ['效能測試', '效能']:
            exe_type = 2
            break
        if item.lower() in ['功能測試', '功能']:
            exe_type = 1
            break
        if item.lower() in ['安全測試', '安全','安全性測試']:
            exe_type = 3
            break
        if item.lower() in ['其他']:
            exe_type = 4
            break
    return exe_type

使用方法

1、安裝庫:pip3 install xmind2testcase
2、xmind模板及說明(格式要求裡面描述很清晰了):xmind2testcase-masterdocszentao_testcase_template.xmind
3、執行方式:①執行zentao.py ②使用webtool工具(可放再伺服器上多人使用)

 其他:

使用案例,好久之前寫的,基本能用,最終沒有在專案推行,這裡共用給大家。

連結: https://pan.baidu.com/s/1VDTyBd5_QDPc7kfgjuvWHw?pwd=e15m 提取碼: e15m 

特別說明:
1、標籤的測試方式已改成:功能測試、效能測試、安全測試、其他
2、根名稱做了適用tapd的處理,如下圖結構:【ID1016373】SIT-V2.6.3 - 2021春節活動二-
【ID1016373】是需求ID,要需求ID則必須要帶【】,且放在前面,沒有需求ID則不寫這個【】,則結果為空
SIT-V2.6.3 - 2021春節活動二:是在TAPD的目錄路徑

到此這篇關於Xmind用例匯入到TAPD的方案的文章就介紹到這了,更多相關Xmind匯入到TAPD內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com