禅道自动化测试框架ZenTaoATF1.0发布
- 原创
- 2013-03-18 21:33:37
- 王春生
- 8149
它的基本工作原理如下:
首先,你需要写一个测试脚本来实现你正常的测试逻辑。现在支持php, python, ruby, lua, tcl, bash。
这个测试脚本里面按照自己所测程序的业务逻辑编写,比如链接数据库,查询某一个记录等等。
然后通过注释的方式为这个测试脚本写上基本的用例信息:标题,步骤和预期结果,采用的是yaml语法格式。
<<<TC
title: helloworld.
expect: helloworld.
TC
然后执行zt脚本,zt脚本会扫描当前目录下面的带有用例标志的脚本,然后调用执行,得出每个脚本的实际输出,然后和用例里面事先记录好的预期结果进行比对,如果相匹配,则成功,如果失败,则计算diff信息。
相比较于其他的自动化测试框架或者单元测试框架来将,ZenTaoATF的主要特点如下:
1. 简单
1.1 程序简单
整个自动化测试框架只有一个zt文件,使用php开发,安装和运行都非常的方便。
1.2 语法简单
ZenTaoATF的语法只有简单的标题,步骤,预期结果,采用yaml格式,撰写比较方便,可读性也很好。
2. 跨语言
ZenTaoATF框架本身是使用PHP开发的,但它支持各种各样的脚本语言,比如python, ruby, lua, tcl, bash, bat等。
3. 跨平台
ZenTaoATF可以运行在各个平台下面。(现在暂时只支持linux,windows1.1版本加入)
4. 和 禅道项目管理软件集成
后续版本我们会和禅道开源项目管理软件进行集成和绑定,脚本和用例可以做到有机的结合。
下载地址: https://github.com/easysoft/zentaoatf/archive/zentaoatf.1.0.20130318.zip
项目地址: https://github.com/easysoft/zentaoatf/
如何安装:
1. 现在zentaoatf暂时只支持linux和bsd系统,请先安装好php的运行环境。
2. 下载zentaoatf包,将其解压缩到一个目录。
3. 解压缩之后,有一个zt的php脚本。使用命令chmod a+rx zt 给它增加可执行权限。
4. 为了后面方便使用,可以考虑将zt这个脚本拷贝到/usr/local/bin目录下面。
如何运行:
1. 下载zentaoatf包之后,里面有两个目录,一个是基本的语法,一个是各种脚本语言的格式。
2. 可以在这个目录下面执行执行 zt,就可以运行自动化测试脚本。执行的效果如下:
基本语法:
1. 在脚本里面通过注释的形式来写脚本的标题和预期步骤:
<?php <<<TC title: php hello world. expect: hello world. TC;其他语言的格式,请参考langs下面的脚本。
2. expect可以带有格式串
<<<TC title: with format chars. expect: hello world %i. TC; echo 'hello world ' . time() . '.' ;具体的格式串信息,请参考: http://qa.php.net/phpt_details.php#expectf_section.
3. 正则表达式标签: expectx
<<<TC title: with regular rules. expectx: hello world [0-9]*. TC;4. 多行匹配
<<<TC title: with multi lines. expect:| 2 3 TC; echo 1 + 1 . "\n"; echo 1 + 2 . "\n";5. 将预期放在文件中
如果预期内容很多的话,可以将预期内容放在一个隐藏文件中,以.开头,然后和脚本同名,后缀是et或者ex,如果是正则表达式的话是,以ex结尾,其他的以et结尾。
比如脚本05_expect_file.php,里面的预期标签是expect,它对应的预期文件是.05_expect_file.et
脚本06_expectx_file.php预期标签是expectx,它对应的预期文件是.06_expectx_file.ex