大家好,我們非常自豪的向大家推出我們禪道開發團隊開發的自動化測試框架——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. 和禪道項目管理軟體集成
後續版本我們會和禪道開源項目管理軟體進行集成和綁定,腳本和用例可以做到有機的結合。
下載地址:http://www.zentao.net/article-view-79773.html
如何安裝:
1. 現在zentaoatf暫時只支持linux和bsd系統,請先安裝好php的運行環境。
2. 下載zentaoatf包,將其解壓縮到一個目錄。
3. 解壓縮之後,有一個zt的php腳本。使用命令chmod a+rx zt 給它增加可執行權限。
4. 為了後面方便使用,可以考慮將zt這個腳本拷貝到/usr/local/bin目錄下面。
如何運行:
1. 下載zentaoatf包之後,裡面有兩個目錄,一個是基本的語法,一個是各種腳本語言的格式。
2. 可以在這個目錄下面執行執行 zt,就可以運行自動化測試腳本。執行的效果如下:
基本語法:
1. 在腳本裡面通過注釋的形式來寫腳本的標題和預期步驟:
1
2
3
4
5
<?php
<<<TC
title: php hello world.
expect: hello world.
TC;
其他語言的格式,請參考langs下面的腳本。
2. expect可以帶有格式串
1
2
3
4
5
6
<<<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
1
2
3
4
<<<TC
title: with regular rules.
expectx: hello world [0-9]*.
TC;
4. 多行匹配
1
2
3
4
5
6
7
8
9
<<<TC
title: with multi lines.
expect:|
2
3
TC;
echo1 + 1 ."\n";
echo1 + 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