淺談自動(dòng)化測(cè)試工具 QTP腳本的重用
QTP全稱(chēng)Mercury QuickTest Professional,是一款自動(dòng)化測(cè)試工具,用于軟件的功能測(cè)試和回歸測(cè)試。它能夠錄制用戶(hù)行為,并自動(dòng)進(jìn)行重放、捕獲及驗(yàn)證,可以代替測(cè)試人員去完成那些重復(fù)性高并且枯燥的工作。
錄制用戶(hù)行為,也就是錄制測(cè)試腳本,所有錄制的用戶(hù)行為都能夠追蹤到腳本代碼。腳本的重用作為測(cè)試自動(dòng)化的一個(gè)方面,是指將一些通用的、固定的用戶(hù)行為從測(cè)試腳本中提取出來(lái),作為獨(dú)立部分,在其它腳本中加以引用。這樣,就避免了一些通用行為的重復(fù)錄制,有利于測(cè)試框架的搭建。
本文將簡(jiǎn)單介紹Mercury QuickTest Professional 8.2中腳本的重用方法。
QTP中的Action
QTP中腳本可重用的最小單元是Action,錄制的用戶(hù)行為集合將以腳本代碼的形式存放在Action中。當(dāng)你錄制腳本的時(shí)候,只有一個(gè)Action,錄制的腳本也全部在這個(gè)Action中,可以將這個(gè)Action進(jìn)行切割,提取通用腳本并模塊化。
QTP提供四種操作Action的方式:
1、New Action:新建一個(gè)Action,可以在其中錄制、編輯腳本;
2、 Split Action:將一個(gè)Aciton分割成兩個(gè)Action;
3、 Copy of Action:復(fù)制一個(gè)Action,即創(chuàng)建一個(gè)副本。兩個(gè)Action相互獨(dú)立,修改其中任何一個(gè),不會(huì)影響另一個(gè);
4、 Call to Action:如同編程語(yǔ)言中的函數(shù)調(diào)用,測(cè)試腳本中也可以引用或調(diào)用一個(gè)可重用的Aciton,這個(gè)Action可以是任一測(cè)試腳本文件中聲明為Reusable(可重用)的Action。注意:不允許在引用端修改被調(diào)用的Action,只能在原腳本文件中修改。
腳本重用示例
Call to Action是QTP重用腳本的核心,下面簡(jiǎn)單介紹一個(gè)使用這種方式來(lái)重用腳本的例子。
測(cè)試一個(gè)簡(jiǎn)單的B/S結(jié)構(gòu)的辦公自動(dòng)化系統(tǒng)的常用功能。
大體流程為:登錄系統(tǒng)―業(yè)務(wù)處理―退出系統(tǒng)。
其中登錄系統(tǒng)和退出系統(tǒng)屬于可重用性比較強(qiáng)的功能模塊,如果系統(tǒng)允許同一用戶(hù)同時(shí)在多臺(tái)計(jì)算機(jī)上登錄的話(huà),可以單獨(dú)建立一個(gè)腳本文件,將登錄和退出錄制成兩個(gè)可重用的Action,以便重用。業(yè)務(wù)處理流程就比較多樣了,它包括文稿審批、個(gè)人日志管理、請(qǐng)假申請(qǐng)等功能模塊。
測(cè)試一個(gè)功能模塊的完整用戶(hù)行為包括登錄系統(tǒng),執(zhí)行特定的業(yè)務(wù)流程,執(zhí)行完畢后退出系統(tǒng)??墒褂靡粋€(gè)測(cè)試腳本文件測(cè)試一個(gè)特定的功能模塊,系統(tǒng)登錄和退出模塊可以使用Call to Action方式進(jìn)行重用,不需要在每個(gè)模塊的測(cè)試中都進(jìn)行錄制。
具體步驟如下:
步驟1:錄制系統(tǒng)登錄和退出腳本。
新建login_out腳本文件,在Record and Run Setting選項(xiàng)卡中,選擇IE方式并輸入辦公自動(dòng)化系統(tǒng)的網(wǎng)址,點(diǎn)擊OK進(jìn)行錄制。QTP將自動(dòng)打開(kāi)辦公自動(dòng)化系統(tǒng)的網(wǎng)頁(yè),輸入用戶(hù)名和密碼登錄系統(tǒng),再退出系統(tǒng)。然后結(jié)束錄制,QTP將自動(dòng)生成腳本。
步驟2:使用Split Action方式將login_out腳本中的Action分割成login和logout兩個(gè)Action。
login是系統(tǒng)登錄部分的腳本,logout是退出部分的腳本。具體的分割步驟本文不作說(shuō)明,讀者可參閱QTP的使用手冊(cè)。
步驟3:將login和logout設(shè)定為可重用。
打開(kāi)兩個(gè)Action的Action Properties對(duì)話(huà)框,點(diǎn)選Reusable action選項(xiàng),點(diǎn)擊OK后,兩個(gè)Action便可以被其它腳本文件引用了。
步驟4:錄制業(yè)務(wù)處理腳本。
按照步驟1新建process腳本文件進(jìn)行任一功能模塊的測(cè)試腳本錄制。在登錄系統(tǒng)進(jìn)入主界面后,按下工具列中的Record按鈕,開(kāi)始錄制相關(guān)的業(yè)務(wù)操作,完成后再按下Stop按鈕結(jié)束錄制,并將Action命名為processing。
這樣,process文件包含一個(gè)Action名為processing,其中錄制了一段系統(tǒng)業(yè)務(wù)處理流程的測(cè)試腳本,但并未包含用戶(hù)的登錄和退出行為,不能直接自動(dòng)執(zhí)行,需要手工登錄系統(tǒng)進(jìn)入主界面后,才能執(zhí)行。
步驟5:調(diào)用login和logout,完善process腳本。
打開(kāi)process腳本,在菜單中選擇Insert―Call to Existing Action選項(xiàng),打開(kāi)Select Action對(duì)話(huà)框,選擇login_out腳本,選擇login,點(diǎn)擊OK進(jìn)行Action的引用。用同樣的方法應(yīng)用logout。注意,調(diào)整三個(gè)Action的順序?yàn)閘ogin―processing―logout。
完成以上五個(gè)步驟后,可以執(zhí)行process腳本進(jìn)行調(diào)試。
小結(jié)
腳本重用作為測(cè)試自動(dòng)化的一個(gè)方面,縮短了腳本的編制時(shí)間、利于腳本的架構(gòu)與維護(hù)。在腳本文件中直接調(diào)用可重用的腳本,避免了重復(fù)錄制,節(jié)省時(shí)間。
自動(dòng)化測(cè)試人員可以把一個(gè)Action中的用戶(hù)行為分割成很多Action,從中提取出重用性高的設(shè)置為Reusable action保存在單獨(dú)的文件中,并利用這些Reusable action來(lái)靈活地架構(gòu)自己的測(cè)試腳本。當(dāng)一個(gè)可重用的腳本需要修改時(shí),僅需在它的源文件中進(jìn)行改動(dòng),調(diào)用它的腳本都會(huì)隨之改動(dòng),方便了腳本的維護(hù)。
【編輯推薦】