-1

在此处输入图像描述

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

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

通过录音,我可以点击“结算”链接

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

目前,133 和 598 是“结算”的硬编码值,但未来“结算”位置可能会发生变化。

所以我想知道,我如何使用 X 和 Y 坐标单击“结算”链接,其中 Object spy 无法单独识别“结算”链接?

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

谢谢 Onkar

4

3 回答 3

1

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

在 UFT 中,转到:

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

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

完成后,单击“下一步”

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

为按钮命名,例如“ myButton ”,并命名您要在其中存储虚拟对象的集合,然后单击“完成”

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

SwfWindow("Platform Integration Exchange").VirtualButton("myButton").Click
于 2017-04-24T13:08:07.717 回答
1

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

别的

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

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

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

于 2017-04-24T15:05:16.750 回答
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

于 2017-04-24T20:35:07.640 回答