QTP學習筆記----2013.04.25

一、封裝對象模型
1、QTP封裝對象:Test Objects(TO)測試對象和Runtime Objects(RO)運行時對象
TO和RO區別:TO是被添加到對象庫中的對象,RO是被測試軟件在運行時實際所運行的對象
QTP識別對象通常就是先在對象庫中添加測試對象,這些對象都存有一些特徵屬性的值,然後在被測軟件運行的時候。QTP會根據腳本里的對象名字,在對象庫裏尋找相對應的測試對象,,並根據這些對象的特徵屬性描述,在被測試軟件裏搜索並找到相匹配的世紀正在運行的對象

2、GetToProperty()
含義:獲取對象庫中某個對象的某個屬性的值
公式:ReturnValue=對象.GetToProperty(“封裝屬性名”)
例子:ValueOfTo=Browser("百度一下,你就知道").Page("百度一下,你就知道").Link("新聞").GetToProperty("text")
MsgBox ValueOfTo
圖片
圖片
分析:獲得Link對象在對象庫中記錄的屬性“text”的值,並返回給變量ValueOfTo,最後以對話框形式彈出結果

3、GetTOProperties()
含義:獲取對象庫中某個對象的所有屬性的值
公式:ReturnValue=對象.GetProperties()

例子:Set TestObject=Browser("百度一下,你就知道").Page("百度一下,你就知道").Image("百度首頁Logo")
Set Prpperties=TestObject.GetTOProperties()
PropertiesCount=Properties.count
Print "對象總計存在" & PropertiesCount & "個封裝屬性。"
For i=0 to PropertiesCount-1
PropName=Properties(i).Name
PropValue=Properties(i).Value
Print PropName & "=" & PropValue
Next
Set TestObject=Nothing
Set Properties=Nothing
圖片
圖片
分析:GetTOProperties()這個方法獲取到的是一個數組,所以想要一個個打印屬性值,就必須要得到對象的屬性個數,然後再通過循環的方法把一個個屬性和屬性值打印出來

4、SetTOProperty()
含義:設置對象庫中某個對象的某個屬性值
公式:對象.SetToProperty "封裝屬性名","封裝屬性值"
例子: Browser("百度一下,你就知道").Page("百度一下,你就知道").WebButton("百度一下").SetTOProperty "name","百度一百萬下"
MsgBox "時間停止,大家一起欣賞此時對象庫中WebButton“百度一下”的name值!"
圖片
圖片
分析:SetTOProperty方法的作用就是妨礙變對象庫中的值,但都是臨時性的,只有腳本運行的時候有效,一旦腳本運行結束,對象庫裏的屬性值就會還原,所以我在MsgBox那行加了一個斷點(斷點的快捷鍵是F9,使用當前斷點不生效/生效的快捷鍵是Ctrl+F9,取消所有的斷點的快捷鍵是Ctrl+Shift+F9)。需要注意的是SetTOProperty後面的參數不需要加括號,因爲它沒有返回值。

5、GetROproperty()
含義:獲取實際在運行時的某個對象的某個屬性的值(不是從對象庫裏面獲取的)
公式:ReturnValue=對象.GetROproperty("封裝屬性名")
例子:ValueOfRo=Browser("百度一下, 你就知道").Page("百度一下,你就知道").WebEdit("搜索內容編輯框").GetROproperty("value")
MsgBox ValueOfRo
圖片
圖片
圖片
圖片

6、封裝屬性集結地
打開註冊表(regedit),進入以下位置:
HKEY_CURRENT_USER--->software--->Mercury Interactive--->QucikTest Professional-->Mictest--->Attributes

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章