2016-05-19 20 views
1

アプリのホーム画面に複数のデバイスを追加できるwpfアプリケーションがあります。 UFTでは、ループしてすべての子オブジェクトの名前を収集し、最後のボタンをそのインデックス値で参照してクリックすることができます。wpfbuttonの説明で変数を参照する方法

次のコードは、すべての名前を集めて出力し、最後の行で参照したいインデックスをnumDevicesに割り当てます。私はちょうど正しいボタンをクリックする最後の行を得ることができません。数値をインデックスに直接参照すると、最後のボタンが正しくクリックされます。私はちょうど最後の行のインデックス参照のnumDevices変数を使用する構文を正しいように見えることができません。

Dim oDesc 
Dim numDevices 
numDevices = -1 
Set oDesc = Description.Create 
oDesc("micclass").value = "WpfButton" 

'Find all WpfButtons 
Set obj = WpfWindow("devname:=X").WpfObject("devname:=ItemsControl").ChildObjects(oDesc) 

Dim i 
For i = 0 to obj.Count - 1    
    x = obj(i).GetROProperty("name") 
    print x 
    numDevices = numDevices + 1 
Next  

wait(1) 

reporter.ReportEvent micDone,"numDevices = ", numDevices  

WpfWindow("devname:=X","index:=0").WpfButton("devname:=ui_DeviceHubDataTemplates_ButtonPanel","index:=[&numDevices]").Click 

答えて

1

WpfWindow("devname:=X","index:=0").WpfButton("devname:=ui_DeviceHubDataTemplates_ButtonPanel","index:=" & numDevices).Click

EDIT:コメントごとに角括弧を除去します。十分な注意を払っていなかった!

+0

これは正しいですが、私はUFT側から、 'numDevices'を囲む角括弧が冗長である(と間違っている)と思います。 – Motti

+0

ええ、角括弧が間違っています。 WpfButton( "devname:= ui_DeviceHubDataTemplates_ButtonPanel"、 "index:="&numDevices).Click –

+0

パーフェクト、情報ありがとう。魅力のように働いた。 –

関連する問題