如何使用 UFT 单击 'SwfObject'?

How to click 'SwfObject' using UFT?

我想点击 link [Link name is 'Settlement'],该页面上有 link 个。

注意:对象间谍不会将 'Settlement' 识别为 link,而是将其视为资源管理器栏。当我对 'Settlement' 文本进行对象监视时,它会突出显示整个资源管理器栏,因此我无法获得 'Settlement' 特定属性。 [请参阅随附的屏幕截图。由于安全原因,我无法上传真实的屏幕截图。

通过录制,我可以点击'Settlement'link

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

目前,133 和 598 是 'Settlement' 的硬编码值,但将来 'Settlement' 位置可能会改变。

所以我想知道,如何在对象间谍无法识别的情况下使用 X 和 Y 坐标单击 'settlement' link 'Settlement' link 分别地?。

或者还有其他方法可以点击这些类型的对象吗?

谢谢 安卡尔

在这种情况下,我建议使用 虚拟按钮 对象。

在您的 UFT 中,转到:

工具 > 虚拟对象 > 新建虚拟对象

选择"Button"并点击"Mark Object"按钮。将出现十字光标并标记您要映射的对象。在坐标中选择您要点击的区域。

完成后,单击 "Next"

Select 虚拟对象的父级并单击 "Next"

为按钮命名,例如,“myButton”,并命名您想要存储虚拟对象的集合,然后单击 "Finish".

您现在可以在脚本中使用“myButton”按钮:

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

使用洞察对象。在我的项目中,我们正在使用 swf 应用程序。对于应用程序中的一部分,它没有被识别,尽管它是应用程序的主要部分之一。所以我们使用 Insight 对象。它工作得很好。

其他

只有单独标识为Swf对象才能使用Click方法

语法为:object.Click[X]、[Y]、[按钮]

X,Y,BUTTON 是可选的。 默认情况下,它将左键单击。

X,Y为坐标。

如果您想点击不同的按钮,请使用以下内容。

0=micLeftBtn
1=micRightBtn
2=micMiddleBtn

对于左键单击:SwfWindow("Form1").SwfObject("Object1").Click
右键单击:SwfWindow("Form1").SwfObject("Object1").Click 1,1,1
中键点击:SwfWindow("Form1").SwfObject("Object1").Click 1,1,2

我在使用 powerbuilder 应用程序时遇到了同样的问题,我使用了以下功能。我已根据您的要求进行了修改

Public 函数 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#GetTextLocation