flankerzhou 发表于 2010-4-29 15:41:23

如何在webtable上单击鼠标右键显示菜单

本周遇到一个问题,我使用QTP无法弹出webtable上的右键菜单,特来此地向各位求助。

被测软件的编辑功能是在一个tabel上单击右键(除标题行以外区域),获得右键功能菜单,包括编辑和删除功能。我现在要测试右键菜单是否能正确显示,故想使用webtable的click方法。
Browser("IE").Page("人员管理").Frame("人员主页").WebTable("人员列表").Click 2,20,micRightBtn
x和y的值是用spy抓出来的,执行后页面上没有弹出右键菜单。

请问:
1、是否能用这个方法来弹出右键菜单;
2、x,y的值应该如何计算。

感谢先!

TIB 发表于 2010-4-29 17:12:48

用GetROProperty来取WebTable的坐标,再用DeviceReplay来按鼠标右键,例如:
x =Browser("Google").Page("Google").WebTable("高级").GetROProperty("abs_x")
y =Browser("Google").Page("Google").WebTable("高级").GetROProperty("abs_y")
Set objDeviceReplay = CreateObject("Mercury.DeviceReplay")
objDeviceReplay.MouseClick x,y,2
Set objDeviceReplay = Nothing

flankerzhou 发表于 2010-4-29 17:58:51

回复 2# 的帖子

感谢TIB的回复,我使用你提供的这种方法后,可以点出右键菜单了。

我想再请教一下,如果WebTable内的行太多导致IE出现了滚动条,这是用这个方法会报“General run error”的错误,因为鼠标已经出屏幕了。这应该如何处理?判断y的坐标然后去鼠标点击滚动条翻页么?

TIB 发表于 2010-4-30 10:18:35

可以试试先聚焦到Webtable上:
Browser("xxx").Page("xxx").WebTable("xxx").Object.focus

flankerzhou 发表于 2010-4-30 11:00:49

回复 4# 的帖子

感谢TIB!

问题已经解决了。
页: [1]
查看完整版本: 如何在webtable上单击鼠标右键显示菜单