51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3306|回复: 8
打印 上一主题 下一主题

新的问题,望各位帮忙解答

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-2-5 14:57:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
由于右件菜单是可以由用户自定义的,那么我要怎么通过TSL或者其他函数去处理才能让WR自己根据菜单项的名称去选择要操作的菜单啊?
      我感觉下面几个函数是可以做到"获取COUNT,利用FOR循环查找菜单项名称(contents),获取菜单项位置(position),再利用菜单项操作的".
      但是看帮助文档里的说明不大明白,其中的参数menu是指哪个?
menu_get_item ( menu, item_number, out_contents );
menu_get_item_num ( menu, item, out_position );
menu_get_items_count;
      这写函数的使用例子最好可以给个例子,帮助文档里的不详细.
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-2-5 18:06:37 | 只看该作者
menu是指的菜单的逻辑名称。
# 无标题 - 记事本
set_window ("无标题 - 记事本", 2);
menu_get_item("文件(F)",0,value);
menu_get_item_num("文件(F)","保存(S) Ctrl+S",value);
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-2-5 18:12:19 | 只看该作者
不好意思,没看清是你说的是右键菜单。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-2-6 22:12:09 | 只看该作者
WR对右键菜单的支持并不好,在我实际录制项目的过程中都是尽量避免使用右键菜单,因为录制出来的脚本都是把右键菜单映射为object控件,并通过鼠标坐标点击相应值。也许可以通过menu的一些函数来识别,但近期较忙没有时间做,很抱歉sdlkfj7
在帮助中说menu就是菜单的逻辑名,录制记事本中右键菜单点中“粘贴”的脚本很简单:menu_select_item ("粘贴(P)");
WR在这里就是把“粘贴”认为是菜单栏上的一个按钮了
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2007-2-8 11:06:50 | 只看该作者
感谢各位解答,我这边的实际情况是这样的,例如 刷新 的右键菜单可能是在第一位,也可能是在最后一位,而GUI里识别到的右键菜单是这样的描述是这样的
{
class: menu_item,
parent: none,
position: 6
}
,但根据这个GUI的描述,它只能识别右键菜单中第6位的菜单项,但是变化后就无法正确操作到该菜单项对象了. 我考虑的是不要根据POSITION的位置来识别并操作对象,我希望的是根据菜单项的 名称 来操作,例如我在菜单里找 名字 为”新建”的菜单项,然好再操作该菜单,这样的话就可以忽略自定义菜单对脚本正确运行的影响了.
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2007-2-8 13:12:15 | 只看该作者
根据上面所说的,我考虑过一下几种方法,但不知道WIRNUNNER不经过扩展的话(不使用DLL和句柄操作)能不能实现:
方法1:
   从POSITONG 0 开始遍历,用menu_get_desc ( "{class: menu_item,index: "& i &"}", oblig, optional, "index", out_desc );的某些属性来获取其名字(例如:"刷新"等),如果 "获取的名字" = "要操作的菜单项的名称(如:刷新)" 则得到其POSITION,再通过POSITION操作.
方法2:
    直接识别弹出的右键菜单窗口,然后通过FIND TEXT来获取 所要操作的菜单项名字 的位置,然后利用CLICK来操作.
    以上方法不知道WINRUNNER能不能在不作扩展的情况下能不能实现.
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2007-2-8 13:19:35 | 只看该作者
原帖由 dionysus 于 2007-2-6 22:12 发表
WR对右键菜单的支持并不好,在我实际录制项目的过程中都是尽量避免使用右键菜单,因为录制出来的脚本都是把右键菜单映射为object控件,并通过鼠标坐标点击相应值。也许可以通过menu的一些函数来识别,但近期较忙 ...



没错,我录制的右键菜单的GUI描述和你的不同,你的应该是获取到了该右键菜单的LABEL属性,没猜错的话是下面的描述
{
class: menu_item,
label: "粘贴(P)",
parent: none
}
而我获取到的这个右键菜单比较特别
item_6:
{
class: menu_item,
parent: none,
position: 6
}

我层试图用
menu_get_desc来获取LABEL属性值,但是却不能获取.
正因为该菜单没有或者不能识别LABEL属性, wirunner所以才使用了POSITION来辨认.
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-2-8 16:00:10 | 只看该作者
你直接在gui map文件中用label替代position属性看看能否回放成功?
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2007-2-13 09:29:12 | 只看该作者
原帖由 dionysus 于 2007-2-8 16:00 发表
你直接在gui map文件中用label替代position属性看看能否回放成功?


是个好的建议,不过还是无法回放
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-25 13:10 , Processed in 0.075278 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表