我正在使用UFT並且在描述對象的多個屬性時遇到問題。描述性編程多個屬性
b_username = "html id:=txtUsername","type:=text"
試着這並沒有幫助我。即使試過了「;」分隔符,但這也不起作用。
我正在使用UFT並且在描述對象的多個屬性時遇到問題。描述性編程多個屬性
b_username = "html id:=txtUsername","type:=text"
試着這並沒有幫助我。即使試過了「;」分隔符,但這也不起作用。
我想你已經誤解了如何使用描述性編程來引用一個對象。
您仍然使用Browser().Page().WebEdit()
(例如)的UFT語法,因爲您嘗試設置對象引用,所以您需要Set
關鍵字。嘗試是這樣的:
Set b_username = Browser("micclass:=Browser").Page("micclass:=Page").WebEdit("html id:=txtUsername","type:=text")
這將允許您使用b_username
引用文本框html id
txtUsername
的:
b_username.Set myUsernameValue
對於一個不錯的基本介紹說明性編程,退房LearnQTP.com
你更關閉試圖做的是建立一個Description Object。
你需要的東西像下面這樣:
'Creating a description object
Set btncalc = Description.Create()
'Add descriptions and properties
btncalc("type").value = "Button"
btncalc("name").value = "calculate"
btncalc("html tag").value = "INPUT"
' Use the same to script it
Browser("Math Calc").Page("Num Calculator").WebButton(btncalc).Click
這SO文章有一點更先進的技術的一個很好的解釋。
How to create description object model at runtime in uft/qtp?
請讓我知道,如果這清除了一些混亂。
我建議你使用下面的庫進行描述性編程。它可以幫助您避免創建大量的描述性對象。檢查下面鏈接中的使用情況。
http://www.testautomationguru.com/qtpuft-advanced-descriptive-programming/
要輸入的所有文本框的一些值(無需迭代)
Browser("creationTime:=0").Page("micclass:=Page").getChildObjects("micclass:=WebEdit").SetValue "1"
要在文本框的名稱以「大師」
Browser("creationTime:=0").Page("micclass:=Page").getChildObjects("micclass:=WebEdit,name:=guru.*").SetValue "1"
開始輸入一些值
上面的例子也可以寫成
Browser("creationTime:=0").Page("micclass:=Page").getChildObjects("micclass:=WebEdit").WithRegExProperty("name:=guru.*").SetValue "1"
獲取名爲guru的第五個可見子對象。
Browser("creationTime:=0").Page("micclass:=Page").getChildObjects("micclass:=WebEdit").WithRegExProperty("name:=guru.*").Index(4).Set "1"
要只在可見的文本框中
Browser("creationTime:=0").Page("micclass:=Page").getChildObjects("micclass:=WebEdit").WithRegExProperty("name:=guru.*").VisibleChildObjects.SetValue "1"
輸入值要選擇所有可見的複選框
Browser("creationTime:=0").Page("micclass:=Page").getChildObjects("micclass:=WebCheckBox").VisibleChildObjects.SetValue "ON"
要獲得項目數
Browser("creationTime:=0").Page("micclass:=Page").getChildObjects("micclass:=WebCheckBox,type:=checkbox,name:=jqg_list.*").VisibleChildObjects.getCount()
要匹配某些屬性值UE的
Browser("creationTime:=0").Page("micclass:=Page").getChildObjects("micclass:=WebEdit").WithRegExProperty("name:=guru.*").VisibleChildobjects().Set "1"
,得到2「設置」之間有一些延遲 - [如果需要的東西]
Browser(「creationTime:=0」).Page(「micclass:=Page」).getChildObjects(「micclass:=WebEdit」).WithRegExProperty(「name:=guru.*」).VisibleChildobjects().DelayEachSetBy(1).Set 「1」