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

相关文章
相关标签/搜索