我想对我的应用程序测试中的对象执行右键单击,但我无法执行此操作。有没有办法使用 sendkeys ?
答案 0 :(得分:0)
在Web中,如果RightClick
操作未达到预期结果,则可能是因为UFT不会触发浏览器所期望的事件序列。您可以告诉UFT使用设备重放来运行Web测试,在这种情况下,它会将鼠标光标移动到正确的位置并模拟实际鼠标点击(包括右键单击)。
请参阅this answer,或者只需执行以下操作:
Setting.WebPackage("ReplayType") = 2 ' change to device replay mode
' Perform your right-click here
Setting.WebPackage("ReplayType") = 1 ' back to normal
答案 1 :(得分:0)
你可以用两种方式做到。
1)通过 Object.Click
喜欢ObjSomeObject.Click 1,1,micRightButton
2)通过 Mercury设备重播
对于此获取 abs_x 和 abs_y ,高度,宽度属性。计算它们并派生 intDerivedxLocation 和intDerivedxLocation。然后执行以下
intabsX = objApp.getRoProperty(" abs_x")
intabsY = objApp.getRoProperty(" abs_y")
intHeight = objApp.getRoProperty(" height")
intWidth = objApp.getRoProperty(" width")
intDerivedxLocation = Cint(intabsX)+ Cint(intWidth / 2)
intDerivedxLocation = Cint(intabsY)+ Cint(intHeight / 2)
Dim objMercuryDeviceReplay
设置objMercuryDeviceReplay = CreateObject(" Mercury.DeviceReplay")
objMercuryDeviceReplay.MouseClick intDerivedxLocation,intDerivedxLocation,2
答案 2 :(得分:0)
键盘右键单击Shift + F10有一个快捷键。 如果我们通过发送密钥传递它,那么我们就可以做到这一点。在此之前,我们必须将鼠标悬停在该对象上,或者我们通过单击该对象使其处于活动状态。
例如
Browser().page().webelement().click;
Browser().page().webelement().sendkeys "+F10";