Как нажать "SwfObject", используя UFT?

введите описание изображения здесь

Я хочу нажать на ссылку [Link name is 'Settlement'] и на этой странице есть несколько ссылок.

ПРИМЕЧАНИЕ: шпион объекта не идентифицирует "поселение" как ссылку, а рассматривает его как панель обозревателя. Когда я беру объект шпионить за текстом "Расчет", он выделяет всю панель обозревателя, из-за чего я не могу получить определенные свойства "Расчет". [см. прикрепленный снимок экрана. По соображениям безопасности я не могу загрузить реальный снимок экрана].

Во время записи я могу нажать ссылку "Расчет"

SwfWindow("Platform Integration Exchange").SwfObject("mainExplorerBar").Click 133,598

В настоящее время 133 и 598 являются жестко закодированными значениями для "Расчет", но в будущем позиция "Расчет" может измениться.

Итак, я хочу знать, как я могу щелкнуть ссылку "расчет", используя координаты X & Y, где шпион объекта не может отдельно идентифицировать ссылку "расчет"?.

ИЛИ есть ли другой способ щелкнуть объекты этого типа?

Спасибо онкар

3 ответа

Решение

В таком случае я бы рекомендовал использовать объект виртуальной кнопки.

В вашем UFT перейдите по ссылке:

Инструменты> Виртуальный объект> Новый виртуальный объект

Выберите "Кнопка" и нажмите кнопку "Отметить объект". Курсор перекрестка появится и отметит объект, который вы хотели бы отобразить. Выберите область в координатах, которые вы хотели бы щелкнуть.

Когда вы закончите, нажмите "Далее".

Выберите родителя Виртуального объекта и нажмите "Далее".

Назовите кнопку, например, "myButton", назовите коллекцию, в которой вы хотите сохранить виртуальный объект, и нажмите "Готово".

Теперь вы можете использовать кнопку "myButton" в вашем скрипте:

SwfWindow("Platform Integration Exchange").VirtualButton("myButton").Click

Используйте Insight Objects. В моем проекте мы используем приложение SWF. Для части приложения это не идентифицируется, хотя это одна из основных частей приложения. Поэтому мы используем Insight Object. Работает отлично.

еще

Вы можете использовать метод Click, только если отдельно обозначен как объект Swf

Синтаксис: object.Click [X], [Y], [BUTTON]

X, Y, КНОПКА являются необязательными. По умолчанию он собирается щелкнуть левой кнопкой мыши.

X, Y - координаты.

Если вы хотите нажимать разные кнопки, используйте следующее.

0=micLeftBtn
1=micRightBtn
2=micMiddleBtn

Для LeftClick:SwfWindow("Form1").SwfObject("Object1").Click
Для правого клика:SwfWindow("Form1").SwfObject("Object1").Click 1,1,1
Для среднего клика:SwfWindow("Form1").SwfObject("Object1").Click 1,1,2

У меня та же проблема с приложением powerbuilder, и я использую функцию ниже. Я изменил его по вашему требованию

Публичная функция CLICKTEXTINSIDEOBJECT

Dim OperatedObject
Dim X1, X2, Y1, Y2

X1=0
X2=0
Y1=0
Y2=0

'get the object
Set OperatedObject = SwfWindow("Platform Integration Exchange").SwfObject("mainExplorerBar")

'get the co-ordinates of the text to be clicked
OperatedObject.GetTextLocation "Settlement",X1,Y1,X2,Y2

''Check if the Co-ordinates are assigned
if ((X1 > 0) or (Y1 > 0)) then
    OperatedObject.Click (X1 + X2)/2, (Y1+Y2)/2
    CLICKTEXTINSIDEOBJECT = true
Else
    CLICKTEXTINSIDEOBJECT = false
End If

Конечная функция

Ниже приведено описание объекта GetTextLocation

http://uft-help.saas.hpe.com/en/14.00/UFT_Help/Subsystems/FunctionReference/Subsystems/OMRHelp/Content/WindowsForms/SWFPACKAGELib~SwfObject.html

Другие вопросы по тегам