禅道自动化测试框架ZenTaoATF1.0发布

转贴
王春生
2013-03-18 21:33:37
27020
摘要:大家好,我们非常自豪的向大家推出我们禅道开发团队开发的自动化测试框架——ZenTaoATF(zentao auto testing framework)。ZenTaoATF只有一个脚本文件,可以支持各种脚本语言编写的自动化测试脚本,语法简单,使用灵活,后续会和禅道项目管理软件进行绑定和集成。
大家好,我们非常自豪的向大家推出我们禅道开发团队开发的自动化测试框架——ZenTaoATF(zentao auto testing framework)。ZenTaoATF只有一个脚本文件,可以支持各种脚本语言编写的自动化测试脚本,语法简单,使用灵活,后续会和禅道项目管理软件进行绑定和集成。

它的基本工作原理如下:

首先,你需要写一个测试脚本来实现你正常的测试逻辑。现在支持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 

文章分类
联系我们

联系人:

电话:

Email:

QQ:

地址:青岛市黄岛区长江西路118号青铁广场18楼

云禅道

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用