不過,我們回過頭來思考一個問題——自動化的問題。這是我們最終的目的。雖然說自動化測試框架能夠解決軟件本身的執行問題,但是一次完整的測試,必然是要覆蓋全過程的。很顯然,我們的框架不能解決這個問題。
我做過很多項目的每日版本構造,所以對FinalBuilder比較熟悉。我也同時意識到FinalBuilder可以彌補我們框架在這方面的缺陷。很自然的,我將這個軟件引入到我們系統中來。
這個軟件在業界是非常有名的,很多人都很熟悉其用法。不過原來都是開發人員在做,測試人員不是很熟悉。所以我在最近對參與自動化測試的幾位測試人員,做了簡單的培訓??紤]到這篇文章的部分讀者也是測試人員,所以我在這里也簡單的介紹一下FinalBuilder。如果你使用過FinalBuilder,可以跳過下面這段文字。
FinalBuilder解決的是任務流的問題。就像我們以前的DOS系統的大部分程序一樣,沒有界面交互部分,一次輸入,直接返回最終處理結果。這點和我們的自動化目標不謀而合。
在FinalBuilder中,最本質的就是一次任務的執行。任務的執行包括兩部分:執行環境+執行數據。執行環境往往包括Windows系統自帶的一些程序,包括Copy,XCopy等等Shell命令。也有系統中已經安裝的程序,如Delphi、VC、SVN等等。而執行數據,則是指我們的輸入了!由于我們要達到在執行中不存在界面交互,那么就必然要求我們將所有需要交互的信息一次性地輸入。于此同時,我們的環境程序,也必須同時支持此種模式(一般這種模式,稱之為命令行模式)。
對于使用FinalBuilder的人來講,就有必要了解相關程序的命令行調用方式。這樣有助于我們使用和編寫任務。如果是我們自己研發一個程序,那么因為要使用到FinalBuilder中來,也有必要支持命令行模式。
在FinalBuilder中,最主要的還是順序流程,當然它也支持條件(if)、分支(case)、循環(loop)。最新的版本還有多線程協同。不過在使用初期,主要還是以順序流程為主了。
最關鍵最有用的就是Run DOS Command和Execute Programe兩個Action(任務)了。有了這兩個,你幾乎可以完成任何事情。當然了FinalBuilder還提供了很多現成的控件,使得你可以通過配置(而不是命令行)來編寫任務。這大大降低了使用難度。不過,不可避免的會有一些需求需要我們自己編寫命令行,因此著兩個Action必須掌握。
FinalBuilder的自動執行,是使用Windows的計劃任務來完成的。在其菜單中有生成計劃任務的功能。順便說一句,FinalBuilder也一樣支持命令行模式,因此多個FinalBuilder之間可以互相調用。這對我們的自動化非常有利。
好了,經過簡單介紹之后,我們可以發現,使用FinalBuilder確實可以幫助我們解決問題。
原文轉自:http://www.anti-gravitydesign.com