Web 仅当在浏览器窗口(UFT)上肉眼可见时,才能识别对象
我们正在使用UFT/QTP自动化web应用程序。问题是UFT只对那些在浏览器窗口部件中看到的web对象起作用。如果页面底部有任何对象/元素,需要在窗口中向下滚动才能看到。UFT无法处理这些对象。我们已经编写了代码来向下翻页处理这些对象。它很好用。但有时当页面非常长,我们不知道对象在页面中间的位置,或者页面最底部的位置等。在这种情况下,只有向下翻页不起作用。我们有没有办法根据对象属性使对象可见?这意味着我们可以将对象放在窗口前面。如果您的滚动pageup或pagedown代码已经运行,为什么不使用循环Web 仅当在浏览器窗口(UFT)上肉眼可见时,才能识别对象,web,qtp,hp-uft,Web,Qtp,Hp Uft,我们正在使用UFT/QTP自动化web应用程序。问题是UFT只对那些在浏览器窗口部件中看到的web对象起作用。如果页面底部有任何对象/元素,需要在窗口中向下滚动才能看到。UFT无法处理这些对象。我们已经编写了代码来向下翻页处理这些对象。它很好用。但有时当页面非常长,我们不知道对象在页面中间的位置,或者页面最底部的位置等。在这种情况下,只有向下翻页不起作用。我们有没有办法根据对象属性使对象可见?这意味着我们可以将对象放在窗口前面。如果您的滚动pageup或pagedown代码已经运行,为什么不使用
Set obj = Browser(..).page(..).Link(..) ' use your object
While obj.getROProperty("visible") = False
'Scroll code
Wend
如果您的滚动上下翻页代码已经运行,为什么不使用循环
Set obj = Browser(..).page(..).Link(..) ' use your object
While obj.getROProperty("visible") = False
'Scroll code
Wend
UFT不取决于对象是否在视图中。如果对象从视图中滚出,UFT将在对其执行任何操作之前自动将其滚入视图(例如,
单击
)
您所描述的行为可能是由以下事实引起的:当页面滚动时,网站会动态地将对象添加到。如果是这种情况,那么UFT无法知道是什么原因导致对象被添加到DOM中,您必须滚动查看您一直在做的事情
很抱歉,我无法带来更好的消息:(UFT不取决于对象是否在视图中。如果对象从视图中滚动出去,UFT将在对其执行任何操作之前自动将其滚动到视图中(例如,
单击
)
您所描述的行为可能是由以下事实引起的:当页面滚动时,网站会动态地将对象添加到。如果是这种情况,那么UFT无法知道是什么原因将对象添加到DOM中,您必须滚动到您一直在做的事情中
很抱歉,我无法带来更好的消息:(我曾经遇到过类似的问题。对我来说,将Replaytype设置更改为“鼠标事件”起到了作用。 在执行任何操作(例如单击对象)之前,请尝试将ReplayType更改为鼠标事件,如下所示:
Settings.WebPackage("ReplayType") = 2 'Changes to mouse/device events mode
'Perform the Click Operation here
Settings.WebPackage("ReplayType") = 1 'Change back to Browser events mode
有关ReplayType的其他信息:
此设置允许我们更改鼠标操作的方式
发生在AUT上。它可以是浏览器事件或鼠标事件。
Browser事件类似于使用Browser方法的DOM事件,
wheras鼠标事件模拟实际用户操作
键盘或鼠标。例如,如果您在
ReplayType是鼠标,您会注意到鼠标指针移动到
按钮的位置并触发事件,但在浏览器事件中
没有
replaytype的值可以是:
1–活动
2–鼠标
默认情况下,它设置为事件,即1
我曾经遇到过类似的问题。对我来说,将Replaytype设置更改为鼠标事件起到了作用。 在执行任何操作(例如单击对象)之前,请尝试将ReplayType更改为鼠标事件,如下所示:
Settings.WebPackage("ReplayType") = 2 'Changes to mouse/device events mode
'Perform the Click Operation here
Settings.WebPackage("ReplayType") = 1 'Change back to Browser events mode
有关ReplayType的其他信息:
此设置允许我们更改鼠标操作的方式
发生在AUT上。它可以是浏览器事件或鼠标事件。
Browser事件类似于使用Browser方法的DOM事件,
wheras鼠标事件模拟实际用户操作
键盘或鼠标。例如,如果您在
ReplayType是鼠标,您会注意到鼠标指针移动到
按钮的位置并触发事件,但在浏览器事件中
没有
replaytype的值可以是:
1–活动
2–鼠标
默认情况下,它设置为事件,即1
我们已经在使用它了..否则UFT在应用程序上根本不起作用。我们已经在使用它..否则UFT在应用程序上根本不起作用。你是对的..UFT会自动这样做..但不幸的情况是(如果以视觉方式扫描对象而不是使用对象属性,也可能会出现问题…您是对的..UFT会自动执行此操作..但不幸的情况是(如果以视觉方式扫描对象而不是使用对象属性,也可能会出现问题……这是我们实现的最终解决方案,但不是健壮且非常有效的解决方案。有时,由于页面向下,它会将对象带到页面边界。在这种情况下,它的动态行为有时会像works或sometim一样es不是..这就是为什么,我一直在寻找一些可以直接作用于对象使其可见的东西..但似乎不可能..这是我们实现的最终解决方案,但不是健壮且非常有效的解决方案..有时由于页面向下,它会将对象带到页面边界..在这种情况下,它的行为是dynaMicaly like有时工作有时不工作这就是为什么,我一直在寻找可以直接作用于对象使其可见的东西但似乎不可能。。