在成功安裝和建立測試項目以后,就可以利用testmanager和robot進行軟件測試了。下面以一個windows自帶的計算器測試例子,展
示rational的功能。
1. 啟動robot,登錄窗口默認用戶名是admin,輸入在建立測試項目時指定的密碼(默認為空),即可進入robot主界面;
2. 點擊工具欄上的GUI按鈕,錄制GUI腳本,在窗口中輸入腳本名稱;
3. 在GUI Record工具欄上點擊第四個按鈕,在GUI Inset工具欄點擊Start Application按鈕,點擊browse…按鈕,選擇計算器程序;
4. 從鍵盤輸入1+1=,然后在GUI Record工具欄上點擊第四個按鈕,在GUI Inset工具欄點擊Alphanumeric校驗點,選擇第三項Nume
ric Equivalence;
5. 關閉計算器,點擊GUI Record工具欄上的STOP按鈕,完成腳本的錄制;
錄制完的腳本:
Sub Main
Dim Result As Integer
'Initially Recorded: 2006-12-23 15:22:57
'scrīpt Name: test-calc
StartApplication "c:\windows\system32\calc.exe"
Window SetContext, "Caption=計算器", ""
PushButton Click, "Text=7"
PushButton Click, "Text=+"
PushButton Click, "Text=6"
PushButton Click, "Text=="
Result = EditBoxVP (CompareNumeric, "ObjectIndex=1", "VP=Alphanumeric;Value=130000")
Window CloseWin, "", ""
End Sub
這個腳本并不能正確回放,需要將
Result = EditBoxVP (CompareNumeric, "ObjectIndex=1", "VP=Alphanumeric;Value=130000")
改為:
Result = EditBoxVP (CompareNumeric, "ObjectIndex=1", "VP=Alphanumeric;Value=13")
這樣就可以點擊工具欄上的回放按鈕進行回放。
(注:這個是在WINDOWSXP下運行后的)
這個腳本只能驗證一組數據,并不能體現出自動化測試帶來的便利。需要對腳本進行手工修改,在腳本加入循環結構和數據
池(DATAPOOL),這樣就可以實現一個腳本測試大量的數據,腳本易于維護而且功能強大。
修改后的腳本如下:
'$Include "sqautil.sbh" //datapool必須寫的第一句話
Sub Main
Dim Result As Integer
dim m as string
dim x as integer
dim n as string
dim sum as variant
dim dp as long
'Initially Recorded: 2006-12-23 15:22:57
'scrīpt Name: test-calc
StartApplication "c:\windows\system32\calc.exe"
dp=SQADatapoolOpen("Book1")
for x=1 to 5
Call SQADatapoolFetch(dp)
Call SQADatapoolValue(dp,1,m)
Call SQADatapoolValue(dp,2,n)
Call SQADatapoolValue(dp,3,sum)
Window SetContext, "Caption=計算器", ""
InputKeys m &"{+}"& n &"{ENTER}"
注釋:/*只點與上面的區別:
PushButton Click, "Text=7"
PushButton Click, "Text=+"
PushButton Click, "Text=6"
PushButton Click, "Text==" */
Result = EditBoxVP (CompareNumeric, "ObjectIndex=1", "VP=Alphanumeric; Value="& sum &"")
Window ResetTestContext, "", ""
if Result<>1 then
SQALogMessage sqaFail, "測試失敗", "設計測試失敗"
else
SQALogMessage sqaPass, "測試成功", ""
end if
msgbox Result //提示信息
next
Call SQADatapoolClose(dp)
Window CloseWin, "", ""
End Sub
注:SQADatapoolOpen("Book1"),Book1為數據池(DATAPOOL)名稱,需要在testmanager中手工創建。
(三列最少五行因為:FOR X=1 TO 5 )
**經過簡單的編輯后,測試時只需要將測試數據導入數據池(DATAPOOL)回放腳本即可,通過查看測試log檢查哪些錯誤,在開始測試時就可以使用,而不是等到回歸,也不是手工過程的簡單重復。在測試之前,可以先準備好測試數據備用。
原文轉自:http://www.anti-gravitydesign.com