如何在 UFT 中使用 SendKeys 对对象执行右键单击?

问题描述 投票:0回答:3

我想对我的测试应用程序中的对象执行右键单击,但我无法执行此操作。有什么方法可以使用sendkeys来做到这一点吗?

object testing automation qtp sendkeys
3个回答
0
投票

在 Web 中,如果

RightClick
操作未达到预期结果,这可能是因为 UFT 未触发浏览器期望的事件序列。您可以告诉 UFT 使用设备重放来运行 Web 测试,在这种情况下,它会将鼠标光标移动到正确的位置并模拟实际的鼠标单击(包括右键单击)。

请参阅此答案,或者只需执行以下操作:

Setting.WebPackage("ReplayType") = 2 ' change to device replay mode
' Perform your right-click here
Setting.WebPackage("ReplayType") = 1 ' back to normal

0
投票

您可以通过两种方式做到这一点。

1) 通过 Object.Click

像 ObjSomeObject.Click 1,1,micRightButton

2) 通过 Mercury 设备重播

为此获取 abs_xabs_y,Height,Width 属性。计算它们并导出 intDerivedxLocation AND intDerivedxLocation。然后执行以下操作

intabsX = objApp.getRoProperty(“abs_x”)

intabsY = objApp.getRoProperty(“abs_y”)

intHeight = objApp.getRoProperty(“高度”)

intWidth = objApp.getRoProperty(“宽度”)

intDerivedxLocation= Cint(intabsX) +Cint(intWidth /2)

intDerivedxLocation= Cint(intabsY) +Cint(intHeight/2)

调暗 objMercuryDeviceReplay

设置 objMercuryDeviceReplay= CreateObject("Mercury.DeviceReplay")

objMercuryDeviceReplay.MouseClick intDerivedxLocation,intDerivedxLocation,2


0
投票

键盘右键Shift+F10有一个快捷键。 如果我们通过发送键传递它,那么我们就可以做到这一点。在执行此操作之前,我们必须将鼠标悬停在该对象上,或者通过单击该对象来激活该对象。

例如

Browser().page().webelement().click;
Browser().page().webelement().sendkeys "+F10";
© www.soinside.com 2019 - 2024. All rights reserved.