自動化測試包括功能自動化和性能自動化:
陸小剛
功能自動化:
工具:QTP(70%,VBS,插件,免費試用),selem(java+web+框架),reboot(rft,c語言)
發展:終端發展,QTP下滑,selem上升(但低於QTP)
歷史:astra公司的astra quicktest/mercury的winrunner/rational的robert
性能自動化:
工具:LR,RPT,jmeter
以下方法在WIN7 + QTP 11環境下試驗通過,可以隨時恢復QTP 11爲30days試用版,方法非常簡單。
1.找到C:\ProgramData\SafeNet Sentinel目錄,更名或者刪除
2.找到QTP11安裝目錄下bin子目錄,執行instdemo.exe
如C:\Program Files (x86)\HP\QuickTest Professional\bin,
C:\Program Files\HP\QuickTest Professional\bin
Add-in Manager:儘量選必不可少的,微軟的基本不需要插件(默認含有VC)
.net(包含VB.NET)
Delphi(編譯中需要加入特定的代碼)
Teminal終端測試的插件
QTP正式開始:
SystemUtil.Run 打開一個外部程序
CheckPoint:檢查點
參數化:data table
刪除data table:選擇行,點擊Edit—Delete(ctrl+k)
對象:
1內置對象
對象 windows
2測試對象
類(對象名)windows(“計算機”)
3父子對象關係
父.子 Window("計算器").WinButton("1")
方法:
1方法無入參
.close
2方法有入參,且方法無返回結果
對象方法 參數1,參數2
3方法有入參,且方法有返回結果
對象方法(參數1,參數2)
對象識別
QTP基於對象屬性的識別
輸入的方法Set 和Type和SetSelection的區別:
Set:
1使用於文本框對象
2不能輸入的時候報錯
3覆蓋賦值
4光標不改變
Type:
1能夠輸入的都可以使用Type方法
2直接往裏面鍵入值
3追加賦值
4光標從開始隨着鍵入值走
SetSelection:
SetSelection 0,1(第一位到第二位)
SetSelection 0,1,2,3(第一行第二位到第三行第四位)
Select方法:可以輸入的
1:Select+”名稱”
2:Select+序號(第N+1個)
選擇最後一個選項:
Select Window("Flight Reservation").WinComboBox("Fly From:").GetItemsCount-1
對象.Activate “名稱”
1:激活
2:雙擊選擇
QTP的工作原理:根據對象庫中測試對象的屬性值的
測試對象(TO):錄製時候的對象,也是腳本中的對象
運行對象(RUNTIME OBJECT):運行時候的對象
QTP常見的錯誤:對象識別的四種錯誤和其他錯誤:
NO |
時間 |
類型 |
KEY word |
原因 |
解決 |
1 |
立刻 |
找不到 |
Was not found |
對象名稱不一致 |
改名稱一致 |
2 |
等待 |
匹配不到 |
Cannot identify |
屬性不一致 |
改測試對象屬性 |
3 |
立刻 |
匹配多個 |
More than one |
測試對象屬性不夠多 |
加屬性或者設置 |
4 |
等待 |
父對象錯 |
Parent |
父對象沒有或者多個 |
上面兩個 |
5 |
立刻 |
語法錯誤 |
|
|
|
6 |
等待 |
方法暫時無法執行 |
Object is Disabled |
如按鈕被擋住 |
去除擋住的窗口 |
找到該對象並高亮顯示
匹配多個時候選擇第一個
參數化:
Datatable.Value(”NumA”,”Global”)
Datatable(”NumA”)
對象屬性的參數化
對象名稱的參數化
對象值的參數化