2016-05-19 6 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

От vbscript это правильно, однако я думаю, что с стороны UFT квадратные скобки вокруг 'numDevices' являются избыточными (и неправильными) – Motti

+0

Да, квадратные скобки ошибочны. WpfWindow ("devname: = X", "index: = 0"). WpfButton ("devname: = ui_DeviceHubDataTemplates_ButtonPanel", "index: =" & numDevices) .Click –

+0

Отлично, спасибо за информацию. Работал как шарм. –