軟件測試工具中淺談Rational Robot自動(dòng)化測試
Ratoinal Robot是一種可擴展、靈活的功能測試工具,它是Rational Suites下的一個(gè)組件,對于比較熟悉它的測試人員可以修改測試腳本,改進(jìn)測試的深度。Ratoinal Robot為菜單、列表、字母數字字符及位圖等對象提供了測試用例。具體來(lái)說(shuō),它可以做到以下測試:
(1)基于GUI的功能測試:它可以記錄用戶(hù)軟件的操作,將這些動(dòng)作轉換為腳本(腳本是不區分大小寫(xiě)的),然后通過(guò)回放腳本,來(lái)驗證軟件的功能是否正確。
(2)對網(wǎng)絡(luò )應用程序進(jìn)行性能測試:它可以模擬很多虛擬用戶(hù)來(lái)應用網(wǎng)絡(luò )應用程序,從而判斷程序性能是否符合要求。當然,這也是通過(guò)錄制和回放腳本來(lái)辦到的。
根據功能的不同,Robot腳本也可以分為兩類(lèi)SQA Basic腳本與VU腳本。這兩種腳本分別對應以上的基于GUI功能測試與網(wǎng)絡(luò )應用程序的性能測試。它們不能互相換用,而且,不僅它們的用途不同,語(yǔ)法也大相徑庭。SQA Basic用的是Basic語(yǔ)法,而VU腳本用的是C語(yǔ)言的語(yǔ)法。
目前達夢(mèng)數據庫客戶(hù)端的功能采用Ratoinal Robot進(jìn)行測試。對數據庫客戶(hù)端的操作、在需要進(jìn)行對比驗證的時(shí)候設置驗證點(diǎn),它都會(huì )記錄下來(lái)并轉換成SQA Basic腳本。當進(jìn)行測試時(shí),可以使用Ratoinal Robot的腳本的回放功能來(lái)達到自動(dòng)化測試的目的,驗證軟件的功能是否正確。下面簡(jiǎn)單介紹一下Ratoinal Robot在測試達夢(mèng)數據庫的客戶(hù)端當中的應用。
新建工程
第一次使用Ratoinal Robot時(shí),它的Project項是空的,也就是說(shuō)當前沒(méi)有項目可用,需要進(jìn)入到Rational Suites的另一個(gè)組件Rational Administrator中去新建一個(gè)項目,在Rational Administrator中選擇File->New Project,可以打開(kāi)新建工程的向導,根據向導可以建一個(gè)自己命名的項目,設置此項目的密碼,密碼可以為空。之后再次打開(kāi)它時(shí)就可以使用已有的項目與用戶(hù)了。
錄制腳本
選擇菜單Record GUI或是點(diǎn)擊工具欄上的GUI圖標按扭,可打開(kāi)錄制腳本對話(huà)框,在對話(huà)框中輸入腳本名稱(chēng),可以按測試步驟對數據庫客戶(hù)端進(jìn)行操作,當前對電腦的任何操作都可以被錄制進(jìn)來(lái),所以在測試的過(guò)程中盡量不要運行一些自動(dòng)彈出窗口的軟件,以免影響測試的腳本的正確性或增加修改腳本的工作量。錄制腳本的過(guò)程當中Rational Robot在最高層會(huì )有一個(gè)小窗口,此窗口有四個(gè)圖標按鈕:pause Recording(暫停錄制)、stop Recording(結束錄制)、open Robot Window(打開(kāi)Robot窗口)、Display GUI Insert Toolbar(顯示),使用pause Recording時(shí),Robot事實(shí)上并沒(méi)有退出,當前所做的任何操作也不會(huì )被錄制成腳本;使用stop Recording時(shí)結束腳本錄制;open Robot Window打開(kāi)Robot窗口可以看到剛才錄制的腳本,但打開(kāi)Robot窗口的操作不錄制成腳本;Display GUI Insert Toolbar會(huì )打開(kāi)插入GUI驗證點(diǎn)工具欄,需要作對比驗證的時(shí)候可以使用這個(gè)圖標按鈕。
修改腳本
直接錄制的腳本在實(shí)際中很少具有實(shí)用價(jià)值,一般都會(huì )對其進(jìn)行或多或少的修改,如上面一個(gè)步驟錄制的腳本如果放到另外一臺機器上去運行,很有可能就會(huì )現在這個(gè)腳本跟本無(wú)法執行成功。如,達夢(mèng)數據庫安裝的目錄是可修改的,如果在錄制腳本的過(guò)程中涉及到目錄的時(shí)候,腳本中會(huì )出現絕對路徑,在另外一臺機器上安裝達夢(mèng)數據庫的目錄不同時(shí),執行腳本就會(huì )不成功。如下例是一個(gè)錄制的腳本,看看有哪些地方需要修改后才能到其它的機器上運行成功,下面的例子就是打開(kāi)達夢(mèng)數據庫的客戶(hù)端工具ISQL,登錄數據庫服務(wù)器,然后打開(kāi)達夢(mèng)數據庫安裝目錄下的一個(gè)文件,由于下面需要多次使用到達夢(mèng)數據庫的安裝路徑,而且安裝數據庫時(shí)路徑是可更改的,用一個(gè)常量來(lái)定義這個(gè)路徑會(huì )比很多次書(shū)寫(xiě)這個(gè)路徑來(lái)得方便,且修改起來(lái)工作量比較。
以下是引用片段:
‘注釋語(yǔ)句的語(yǔ)法是在要注釋的語(yǔ)句前面加一個(gè)’
Sub Main
Dim Result As Integer
‘在這里定義一個(gè)常量
‘Const dm_path=”e:\dmdbms”
'Initially Recorded: 2007-12-13 15:46:20
'Script Name: test
‘一般情況下打開(kāi)可執行文件不要使用下面這種點(diǎn)擊菜單的方式來(lái)
Window SetContext, "Class=Shell_TrayWnd", ""
PushButton Click, "Text=開(kāi)始"
Window SetContext, "Caption=「開(kāi)始」菜單", ""
PushButton Click, "Text=所有程序(P)"
Window SetContext, "Class=BaseBar;Level=2", ""
Toolbar Click, "ObjectIndex=1;\;ItemID=36", "Coords=118,10"
‘打開(kāi)可執行文件采用STARTAPPLICATION(可執行文件路徑與名稱(chēng)),這樣一個(gè)語(yǔ)句就可以打開(kāi)需要的文件了,那么中間的一段代碼就可以用一個(gè)語(yǔ)句替換了:startapplication(dm_path+”\dm\dmtools\bin\isql.exe”)
Window SetContext, "Class=BaseBar", ""
Toolbar Click, "ObjectIndex=1;\;ItemText=交互式工具 ISQL", "Coords=101,16"
Window SetContext, "Caption=DM交互式工具", ""
TreeView DblClick, "ObjectIndex=2;\;ItemText=達夢(mèng)服務(wù)器組->本地服務(wù)器", ""
Window SetContext, "Caption=登錄", ""
EditBox Left_Drag, "Label=用戶(hù)名(U):", "Coords=65,11,-60,-7"
InputKeys "^c"
EditBox Click, "Label=口令(W):", "Coords=44,8"
InputKeys "^v"
PushButton Click, "Text=確定"
Window SetContext, "Caption=DM交互式工具", ""
MenuSelect "文件(F)->打開(kāi)(O)..."
Window SetContext, "Caption=打開(kāi)", ""
ComboBox Click, "Label=文件類(lèi)型(T):", "Coords=164,13"
ComboListBox Click, "Label=文件類(lèi)型(T):", "Text=Text file(*.txt)"
ComboEditBox Click, "ObjectIndex=3", "Coords=18,1"
InputKeys "license_zh_cn.txt"
‘在這里打開(kāi)文件時(shí)采用的是默認的路徑,如果需要打開(kāi)達夢(mèng)數據庫目錄下的一個(gè)文件可以采用這個(gè)方式:InputKeys dm_path+"\license_zh_cn.txt"
PushButton Click, "Text=打開(kāi)(O)"
Window SetContext, "Caption=DM交互式工具", ""
Window CloseWin, "", ""
End Sub
打開(kāi)已有版本執行腳本
在錄制腳本的機器上打開(kāi)腳本比較簡(jiǎn)單,選擇菜單File->Open->Script,即可顯示打開(kāi)腳本的窗口,選擇需要打開(kāi)的腳本即可。在非錄制腳本的機器上選擇此菜單的話(huà)顯示的打開(kāi)腳本窗口中無(wú)法找要找開(kāi)的腳本,選擇菜單File->Open->SQABasic File找到要打開(kāi)的腳本,腳本存放的目錄為:..\ TestDatastore\DefaultTestScriptDatastore\TMS_Scripts(驗證點(diǎn)存放的目錄:..\ TestDatastore\DefaultTestScriptDatastore\TMS_Scripts\vp)用SQABasic File打開(kāi)過(guò)的腳本再用菜單File->Open->Script方式在打開(kāi)腳本窗口中有顯示需要打開(kāi)的腳本,選擇腳本即可。
執行打開(kāi)的腳本,選擇菜單File->Compile可查看腳本是否有語(yǔ)法錯誤,在無(wú)語(yǔ)法錯誤的情況下選擇菜單File->Playback可回放腳本,在回放腳本的過(guò)程中無(wú)需手動(dòng)做操作,在執行完畢以后會(huì )有提示是否會(huì )執行成功,如下圖:
Ratoinal Robot可以實(shí)現圖形用戶(hù)界面的功能自動(dòng)化測試,但是它也會(huì )有一些不足的地方,比如有些控件它是識別不了的,有的時(shí)候沒(méi)辦法驗證,對windows彈出式菜單的不支持,需要用startapplication來(lái)代替,回放腳本的時(shí)候也需要在Rational Robot的環(huán)境下回放,不能單獨執行等缺陷。因此需要回避一些缺陷來(lái)利用Rational Robot來(lái)提高測試的效率與質(zhì)量。
文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/