起因:
最近,公司有个软件做资源切割,需要切割的资源选择不同的参数。这导致了很多重复性的工作,因此,本人写了个一个脚本来实现,奈何下拉选择框的选择就是不能录制成功。但是,在学习QTP时,Flight订票页面的File->Open Order...都能录制成功。
WinMenu的学习心得:
1、QTP 使用 Spy 工具无法捕获 WinMenu 对象,只能通过录制获得 WinMenu 对象。
2、若录制也不能获得,则可以:
①添加父窗口到对象库;
②手写脚本。
格式为:
方法一:WinMenu (“xxx”).Select “菜单选项内容;子菜单选项内容”
方法二:WinMenu (“xxx”).Select “<Item 主菜单编号>;< Item 子菜单编号>”
方法一示例:
Window(“Flight Reservation”).WinMenu("Menu").Select "File;Open Order..."
方法二示例:
1、该方法菜单选项使用编号,编号从 1 开始(从作往右,从上往下)
2、例如:方法一示例也可以用下列代码实现:
Window(“Flight Reservation”).WinMenu("Menu").Select "<Item 1>;<Item 3>"
注意:Item第一个字母为大写。
3、扩展:正因可以使用编号,因此可以随机选择Menu:
Rnum = RandomNumber(0,4) ---取随机数
Object.WinMenu("Menu").Select "<Item 1>;<Item " & Rnum & ">"
另外需注意:
1、菜单选项的选择,子菜单与主菜单之间使用分号;
2、WinMenu 无法获得菜单选项的总数或某个菜单选项的内容。只能靠自己的眼睛来看。