如何点击' SwfObject'使用UFT?

时间:2017-04-24 13:03:06

标签: qtp hp-uft uft14

enter image description here

我想点击链接[Link name is 'Settlement'],该页面上有许多链接。

注意:对象间谍无法识别'结算'作为链接,它被视为资源管理器栏。当我把对象间谍带到“解决方案”时。文本它突出显示整个资源管理器栏,因为我无法获得'结算'具体属性。 [参考随附的屏幕截图。由于安全原因,我无法上传真实的屏幕截图]。

通过录制,我可以点击“结算”字样。链路

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

目前,133& 598是'结算'的硬编码值。但在未来的“和解”中#39;职位可能会改变。

所以我想知道,我该如何点击“结算”'使用X&链接Y协调对象间谍无法识别'结算'单独链接?

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

由于 Onkar

3 个答案:

答案 0 :(得分:1)

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

在您的UFT中,请转到:

工具&gt; <虚拟对象>新虚拟对象

选择“按钮”,然后点击“标记对象”按钮。将出现一个十字线光标并标记您要映射的对象。选择要单击的坐标中的区域。

完成后,点击“下一步”

选择虚拟对象的父级,然后单击“下一步”

将按钮命名为“ myButton ”,并命名要存储虚拟对象的集合,然后单击“完成”

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

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

答案 1 :(得分:1)

使用Insight Objects。在我的项目中我们正在使用swf应用程序。对于应用程序中的一部分,虽然它是Application的主要部分之一,但它没有被识别出来。所以我们使用Insight Object。它完美无缺。

否则

只有在单独标识为Swf对象

时,才能使用Click方法

语法是:object.Click [X],[Y],[BUTTON]

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

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

答案 2 :(得分:1)

我对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#GetTextLocation