Hp5年qtp項目
Spy輔助屬性 windowID
強制屬性不能達到識別的 通過輔助屬性來識別
強制屬性和輔助屬性都無法唯一識別 ---- 調出座標屬性 location index-位置索引信息
Web中打開相同的ie屬性會一模一樣 -----智能識別
強制-輔助-location index-智能識別
DelphiCalc—有個7 的
無法識別怎麼辦 user define - 對象映射
Delphi-Calc有小紅點的計算器
使用虛擬對象---第一個平級對象、子對象
首先找有沒有相應的插件,首先qtp是否把他認爲一個windows對象,不認識則把他做成虛擬對象—測試窗口範圍畫下來,不是真對象,只是範圍(換機器就不行了,不推薦使用)
錄製問題: 點recording錄製
畫圖錄制籤名----屬於事件操作,鼠標點擊不會錄下來 只點了一下,click
手寫板 簽名
模擬錄製模式-- Track1軌跡 添加錄製的相應的軟件 開始錄製軌跡
有的Button 想要點擊buttion的左下角 右上角之類
使用低級錄製 ,點擊數字7 的四個角
普通錄製 模擬錄製 低級別錄製
添加web add-in
項目很多用到的錄製模式---web項目用到的
彈出的下拉菜單----我們無法去錄製 設置web系統的錄製級別 按照軌跡錄製 改成enabled
回放也要按照軌跡來回放
要首先打開qtp,然後再打開ie瀏覽器,才能識別到ie上的
對象共享;相同對象庫,腳本移植性----自動化框架
VB-Calc
添加vb addin
對象捕獲,
修改,copyto local 然後修改
object對象庫 qtptest腳本 recovery場景恢復 resource資源 函數 testcase測試用例、數據 testresult測試結果
F7 步驟生成器
mid 從第i的位置選一個數
Len爲
Global是全局還是局部的? ---全局
Qtp必須vbscript lr必須c語言
Action爲一個模塊,每個模塊有相應的表格 global是所有action都可以使用
參數化:
針對action的action表的,還會去遍歷global針對global表的
4*4=16遍
SystemUtil.Run "C:\Users\usera\Desktop\上課\VBCalc", "VB-Calc", "", "", 0
Dim TestCase,i
TestCase = DataTable.Value("TestCase", "Global")
For i=1 to len(TestCase)
VbWindow("Form1").VbButton(mid(TestCase,i,1)).Click
Next
VbWindow("Form1").VbButton("清 除").Click
VbWindow("Form1").Close
打開關閉太多怎麼辦,負荷太大,---跑完再關
Datatabel 操作方法
統計多少條數據 getsheetcount得到sheet行數,先鎖定表 getsheet
SetCurrentRow設置當前行數
SystemUtil.Run "C:\Users\usera\Desktop\上課\VBCalc", "VB-Calc", "", "", 0
Dim TestCase,i,Testcount
'獲得行數
TestCount=DataTable.GetSheet("Global").GetRowCount
'遍歷行數
For j=1to TestCount
'設置行數
DataTable.GetSheet ("Global").SetCurrentRow j
'運行每行
TestCase = DataTable.Value("TestCase", "Global")
For i=1 to len(TestCase)
VbWindow("Form1").VbButton(mid(TestCase,i,1)).Click
Next
VbWindow("Form1").VbButton("清 除").Click
Next
VbWindow("Form1").Close
Action表5個數據 global表4個數據
跑幾遍
Action中有數據怎麼辦
動態導入 必須是xls文件
1. 文件格式97 2003 xls
2. 參數 文件名路徑 源頭表 目標表
DataTable.ImportSheet "C:\Users\usera\Desktop\上課\VBCalc\TestCase\testcase1.xls", "main", "global"
SystemUtil.Run "C:\Users\usera\Desktop\上課\VBCalc\VB-Calc"
Dim TestCase,i,Testcount
'獲得行數
TestCount=DataTable.GetSheet("Global").GetRowCount
'遍歷行數
For j=1to TestCount
'設置行數
DataTable.GetSheet ("Global").SetCurrentRow j
'運行每行
TestCase = DataTable.Value("TestCase", "Global")
For i=1 to len(TestCase)
VbWindow("Form1").VbButton(mid(TestCase,i,1)).Click
Next
VbWindow("Form1").VbButton("清 除").Click
Next
VbWindow("Form1").Close
下午講如何把數據取出來
檢查點放到對象庫,不使用對象庫時;實際和數據一樣就行了
To-testobject
Ro-run-time object
getToproperty-獲得對象屬性—測試對象中某個屬性值
setToproperty 設置
a = VbWindow("Form1").VbButton("2").GetTOProperty("text")
print a
VbWindow("Form1").VbButton("2").SetTOProperty "text", 1
VbWindow("Form1").VbButton("2").Click
Getto
Dim TestCase,i
TestCase = DataTable.Value("CalcStr","Global")
For i= 1 to len(TestCase)
VbWindow("Form1").VbButton("2").SetTOProperty "text", mid(TestCase,i,1)
VbWindow("Form1").VbButton("2").Click
Next
獲得實際運行的結果
Dim TestCase,i,Expect
TestCase = DataTable.Value("CalcStr","Global")
Expect = DataTable.Value("ExpectResult","Global")
For i= 1 to len(TestCase)
VbWindow("Form1").VbButton("2").SetTOProperty "text", mid(TestCase,i,1)
VbWindow("Form1").VbButton("2").Click
Next
Result = VbWindow("Form1").VbLabel("Label1").GetROProperty("text")
If CDbl(Expect)=CDbl(Result) Then
Reporter.ReportEvent micPass, "Check Result", "Expect Result is: "&Cstr(Expect)&" Actual Result is:"&CStr(Result)
Reporter.ReportEvent micFail, "Check Result", "Expect Result is:" &Cstr(Expect)& "Actual Result is:"&CStr(Result)
print "pass"
else
print "NG"
End If
print Result
打印出來----上面
檢查點:
文本檢查點---網頁的文本,先打開qtp,再打開ie
錄製狀態才能檢查點
修改識別文字
文本區域檢查點
文字識別
位圖檢查點:
錄入一個圖片,作爲預期
打開實際的圖片
View diffident爲灰
restore layout
數據庫檢查點
2手工
C:\Program Files\HP\QuickTest Professional\samples\flight\appflight32.mdb
沒有該數據庫的時候需要新建一個該數據庫;
Access數據庫
使用vbscript來讀取數據庫中數據?
Xml檢查點文件 對比工具就可以
如果檢查一個節點使用vbscript來寫
實際使用時候,覈對實際輸出會使用: getoutproporty checkproporty 或者自己寫程序檢查
同步點-錄製時候使用:
不行
同步點就是,等待目標的一個屬性變成指定的值 可以設置等待時間
今天講環境變量
1. 運行軟件時使用全路徑,無法移植;要使移植性
2.
Dim WorkFolder'定義環境變量
WorkFolder = Environment.Value("WorkFolder")
DataTable.ImportSheet WorkFolder&"\TestCase\testcase1.xls", "main", "Global"
SystemUtil.Run WorkFolder&"\VB-Calc"
公共對象庫每次都需要重新加一次?---全路徑發生變化----絕對路徑變成相對路徑..\..\resourse.xxx
是QtpTest到Object的目錄去,所以需要..退出,再..進入Object目錄
如何 顯示出全部路徑?1.先把 全部刪掉,隨便添加一個工作目錄,再到中添加後,選否就能顯示出工作路徑
1. 手動添加環境變量
2 導入外部文件 可以直接修改外部文件來修改環境變量
3 動態導入Environment.LoadFromFile "C:\Users\usera\Desktop\上課\VBCalc\Resource\Environment.xml", True'動態導入
F7中 下面默認爲全部導入;不是導入部分行的環境變量
Web測試東西:自動化
模塊參數傳遞
主模塊main接受的輸入傳遞給子模塊 子模塊login將output輸入給主模塊
運行時纔用到
只有父子模塊能參數傳遞
做登錄檢查,參數傳遞
Main自己的循環需要右擊main來設置
使用spk看下自己獨有的屬性,再去描述
y:=42
html tag:= SPAN
innertext:=&username
描述性編程不強制上下文
強制顯示申明 在最前面option explicit