xmind2testlink - 快速設計測試案例並導入TestLink

回顧: 你據說過思惟導圖嗎?

本文咱們將使用xmind設計測試案例,並導入到TestCase管理系統TestLink。python

原理

Xmind生成的思惟導圖以 .xmind 爲擴展名,其實這本質上是一個zip壓縮文件。這裏略帶一點小知識。git

zip這一世界通用壓縮標準是美國20世紀80年代著名程序員Phil Katz 發明的。當時爲了對抗商業壓縮軟件ARC(缺錢買不起),Philip Katz 製做出了PKZIP,由於免費並且開放,愈來愈多的軟件都內嵌支持zip,包括Windows操做系統。

你可使用任何一種文本編輯器打開zip文件,文件的頭兩個字母爲 PK。程序員

xmind解壓之後,裏面主要由一些xml文件構成,解析content.xml 和 comment.xml 就能夠得到思惟導圖的結構和主要文字內容。github

xmind2testlink

這是一個我使用Python實現對xmind進行解析的PyPI包,有了它你能夠很方便地將xmind轉化成其餘系統使用的格式,好比TestLink。web

安裝和使用

使用pip能夠快速安裝xmind2testlink。編程

pip install xmind2testlink -U

安裝後默認就提供了命令行轉換功能,能夠將xmind轉成能夠導入testlink的xml文件。瀏覽器

xmind2testlink /path/to/testcase.xmind
Generated: testcase.xml

若是你想本身編程使用中間對象,能夠導入xmind_parser或者testlink_parser中的方法。服務器

from xmind2testlink.xmind_parser import *
from xmind2testlink.testlink_parser import *

# do your stuff

使用須知 v1

並非全部的xmind均可以順利被xmind2testlink識別,由於我是按照必定規律去分析xmind結構的,因此若是你要使用這個小工具,那麼請你遵循一些簡單的遊戲規則。app

xmind2testlink_v1

輸出結果:編輯器

xmind2testlink_v1_out

如圖,你的xmind應該和上圖結構一致:

  1. 默認的中心主題不會被轉換,默認從第一層子主題開始轉換。
  2. 第一層子主題會被識別爲 TestSuite。
  3. TestSuite 的子主題 會被識別爲 TestCase。
  4. TestCase 的下級分支爲 TestStep 和 Expected Result。
  5. 你能夠給 TestSuite,TestCase加上 Note,這會被識別爲Summary 字段。
  6. 你能夠給TestCase 加上 Comment,這會被識別爲 Preconception 字段。
  7. 你可使用數字Marker來爲TestCase定義優先級。
  8. 你可使用感嘆號!來註釋掉不想導入的任意分支。

若是以爲太複雜了,能夠下載示例的xmind文件(Test case by xmind v1.xmind),看一眼就懂了。

使用須知 v2

在使用V1的規則一段時間後,發現不是特別xmind,xmind真正強大的地方在於發散思惟整理,若是按照前面的規則使用xmind,會有很大的限制,因而我升級了xmind2testlink,稱之爲V2。看圖:

xmind2testlink_v2

輸出結果:

xmind2testlink_v2_out

基於V1,補充的規則以下:

  1. 根主題必須加上一個小星星,這是用來區分V1和V2的標識。
  2. 第一層子主題仍是會被識別爲 TestSuite。
  3. 以後的主題能夠自由擴展,若是一個主題被標記了priority那麼意味着case到此結束。
  4. 若是沒有主題被標記priority,默認case取到最後一個主題。
  5. 默認使用空格鏈接case子主題,你能夠指定其餘鏈接符(根主題的最後一個字符)。
  6. TestCase 的下級分支爲 TestStep 和 Expected Result。
  7. 全部case子主題的Summary和Preconception會被鏈接起來。
  8. 你能夠給 TestSuite,TestCase加上 Note,這會被識別爲Summary 字段。
  9. !開頭的全部主題都會被自動忽略,能夠用來隱藏或者註釋某些不想導入的內容。

照舊,這裏有一個示例文件(Test case by xmind v2.xmind),看一下就明白了。其實Github上的英文文檔描述更清楚一下,有能力的你仍是去看一下。

進階用法

可能不是每一個人都瞭解Python或者安裝了Python,那麼這是你能夠將xmind2testlink部署成一個網站,步驟也很是簡單。

# clone this git repo ahead
cd /path/to/xmind2testlink/web
pip install -r requirements.txt -U
python application.py

* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
* Restarting with stat

這時你啓動瀏覽器就能夠看到一個web版的轉換界面。

xmind2testlink web

這是一個由Flask寫的簡單程序,你能夠將其部署到專門的服務器,詳情請查閱官方文檔。

小結

其實在實現一個小工具的過程當中,從構思想法到實現,有不少內容和未知須要去探索。xmind2testlink 涉及到的知識點也很多,好比 PyPI 打包發佈,python讀取zip文件,解析xml,Flask,網站先後期,服務器部署,持續集成,單元測試等等,我我的收穫不小。

若是你工做或生活也有各類想法,不如動手去作,失敗了沒啥大不了的,萬一成功了呢。

關於做者:

Toby Qin, Python 技術愛好者,目前從事測試開發相關工做,轉載請註明原文出處。

歡迎關注個人博客 https://betacat.online,你能夠到個人公衆號中去當吃瓜羣衆。

Betacat.online

相關文章
相關標籤/搜索