軟件在開發過程中是不斷變化的,之后各個版本間的更替也會不可避免地引起界面、功能的變化,可以說"唯一不變的,就是變化"。這對自動化測試提出了很高的要求:要隨需應變。自動化測試的腳本必須具有相當的自適應能力,在各種環境下都能正常工作。只有提高腳本的復用程度和兼容性,自動化測試才有實際意義,否則隨著軟件的各個版本的變更、發布,測試人員只能不停地去更新腳本,造成效率的低下、人力物力的極大浪費。
要達到這個目標,可以從以下兩個方面來著手:
1) 充分利用Rational Functional Tester的強大功能,比如ScriptAssure? 技術、正則表達式,數據驅動,Rational Functional Tester API等;
2) 合理地編寫、優化腳本。提綱挈領地對測試過程進行抽象,對關鍵過程進行必要的驗證。
本文將從錄制一個簡單腳本開始,一步步對其進行改造和完善,不斷提高腳本的自適應能力,使之能夠擺脫種種束縛,靈活可靠地在多變的測試環境中順利執行。
一 擺脫初始錄制環境的束縛
文中我們以這個簡單的Web頁面測試場景為例:用戶進入IBM網站,搜索關鍵字"lotus",驗證"www.lotus.com"這一鏈接存在于結果集內。
首先,我們可以使用Rational Functional Tester錄制這段腳本:
1. 打開Rational Functional Tester, 新建一個"Functional Test項目",命名為"SearchLotusProject";
2. 右鍵單擊項目管理器中的"SearchLotusProject",選擇"使用記錄器添加腳本";
3. 將新腳本命名為"SearchLotusLink",單擊"完成"按鈕;此時會彈出腳本記錄器的窗口,腳本記錄已經開始了;
4. 依次打開IE,輸入地址:"www.ibm.com", 回車;在搜索欄里輸入"lotus",單擊"Search"按鈕,可以得到一個結果列表,其中就有"www.lotus.com";
5. 插入驗證點。點擊腳本記錄器上的按鈕 ,會出現"驗證點向導"窗口。按住手形的對象選擇器,選中鏈接"www.lotus.com"(紅框高亮顯示),以默認的設置創建一個"數據驗證點",點擊按鈕"完成"。
6. 點擊腳本記錄器上的按鈕"停止記錄",完成錄入過程。
通過以上的操作,我們得到腳本:
public void testMain(Object[] args)
{
// HTML Browser
browser_htmlBrowser(document_htmlDocument(),DEFAULT_FLAGS).click(atPoint(455,108));
browser_htmlBrowser(document_htmlDocument(),DEFAULT_FLAGS).inputKeys("www.ibm.com{ENTER}");
// Document: IBM United States: http://www.ibm.com/us/
text_q().click(atPoint(25,7));
browser_htmlBrowser(document_ibmUnitedStates(),DEFAULT_FLAGS).inputChars("lotus");
文章來源于領測軟件測試網 http://www.k11sc111.com/