2016-12-02 13 views
2

UFTに使用していて、オブジェクトの複数のプロパティを記述する際に問題があります。記述的プログラミング複数のプロパティ

b_username = "html id:=txtUsername","type:=text" 

これを試しても私は役に立たなかった。たとえ ";"デリミタでも動作しません。

答えて

4

私は、記述的プログラミングを使用してオブジェクトを参照する方法を誤解していると思います。

Browser().Page().WebEdit()などのUFT構文を使用していますが、オブジェクト参照を設定しようとしているため、Setキーワードが必要です。 LearnQTP.com

をチェックアウトし、記述的プログラミングにかなり良い基本的な概要については

b_username.Set myUsernameValue 

:これはあなたがtxtUsernamehtml idとテキストボックスを参照するためにb_usernameを使用できるようになります

Set b_username = Browser("micclass:=Browser").Page("micclass:=Page").WebEdit("html id:=txtUsername","type:=text") 

:ような何かを試してみてください

1

もっと近づけることは、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?

これはいくつかの混乱をクリア場合は私に知らせてください。

0

説明的なプログラミングには、以下のライブラリを使用することをお勧めします。それは説明的なオブジェクトのトンを作成することからあなたを保存します。以下のリンクで使用状況を確認してください。

http://www.testautomationguru.com/qtpuft-advanced-descriptive-programming/

名前が「教祖」

Browser("creationTime:=0").Page("micclass:=Page").getChildObjects("micclass:=WebEdit,name:=guru.*").SetValue "1" 
で始まるテキストボックスにいくつかの値を入力するには、すべてのテキストボックス(反復する必要はありません)

Browser("creationTime:=0").Page("micclass:=Page").getChildObjects("micclass:=WebEdit").SetValue "1" 

にいくつかの値を入力するには

上記の例は、

Browser("creationTime:=0").Page("micclass:=Page").getChildObjects("micclass:=WebEdit").WithRegExProperty("name:=guru.*").SetValue "1" 

名前がついている5番目の表示可能な子オブジェクトを取得する。アイテムを取得するには

Browser("creationTime:=0").Page("micclass:=Page").getChildObjects("micclass:=WebCheckBox").VisibleChildObjects.SetValue "ON" 

すべての可視のチェックボックスを選択するだけで目に見えるテキストボックス

Browser("creationTime:=0").Page("micclass:=Page").getChildObjects("micclass:=WebEdit").WithRegExProperty("name:=guru.*").VisibleChildObjects.SetValue "1" 

に値を入力するには

Browser("creationTime:=0").Page("micclass:=Page").getChildObjects("micclass:=WebEdit").WithRegExProperty("name:=guru.*").Index(4).Set "1" 

が一致するには

Browser("creationTime:=0").Page("micclass:=Page").getChildObjects("micclass:=WebCheckBox,type:=checkbox,name:=jqg_list.*").VisibleChildObjects.getCount() 

を数えます特定のプロパティval 2「SET」との間に多少の遅延を与えることのUE

Browser("creationTime:=0").Page("micclass:=Page").getChildObjects("micclass:=WebEdit").WithRegExProperty("name:=guru.*").VisibleChildobjects().Set "1" 

-

Browser(“creationTime:=0”).Page(“micclass:=Page”).getChildObjects(“micclass:=WebEdit”).WithRegExProperty(“name:=guru.*”).VisibleChildobjects().DelayEachSetBy(1).Set “1” 
[何かのために必要な場合]
関連する問題