51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 7029|回复: 17
打印 上一主题 下一主题

WR8.0 不能识别下拉菜单怎么办??

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-3-1 17:03:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用WR8.0在录制脚本后,在回放的时候,WR无法打开下拉菜单中的窗体,
原因是找不到该菜单.
脚本中没有对下拉菜单的鼠标单击记录.

请各位朋友帮忙!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-3-1 22:05:30 | 只看该作者
楼主把脚本和录制程序放上来吧
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2007-3-1 23:45:53 | 只看该作者

回复 #2 dionysus 的帖子

公司卡的严啊~内外网分离~不准往外考东西哦~-
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-3-2 08:53:36 | 只看该作者
你试下加条下拉菜单的鼠标单击记录:
move_locator_rel(500,500);
click("Left");
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-3-2 12:11:00 | 只看该作者
如果是非标准控件的话,而你又没有将他定义为标准控件,那WR识别不了是十分正常的,解决方法:将它定义为标准LIST类。
如果标准控件,那你是否已经保存相应的GUI文件,并在运行的时候load入GUI文件。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-3-2 12:13:00 | 只看该作者
怎么将他定义成标准list类?
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-3-2 12:14:32 | 只看该作者
我这里也存在楼主说得情况,后来发现第一次点击下拉菜单的操作脚本没有自动生成,后来手工加了一句:obj_mouse_click ("ToolbarWindow32", 20, 9, LEFT);
之后就可以了。那个坐标还得自己试下到底是什么值
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-3-2 16:18:25 | 只看该作者
对付非标准控件就要用卑鄙的方法:
1,将对象识别未OBJ;
2,
   OBJ_GET_TEXT("OBJ",TEXT);                #获取OBJ的TEXT;
   while(TEXT != "***")                            #不是所要的列表项
   {
         OBJ_TYPE("OBJ","<kDOWN>"); #使用键盘模拟选择下一项
         OBJ_GET_TEXT("OBJ",TEXT);    #获取当前项的信息
   }
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2007-3-2 16:22:40 | 只看该作者
这样可以比较精确的模拟为标准控件的操作了,但是缺陷就是效率和资源都不够理想,
一般在控件无法识别为标准控件,没有其他合适的函数使用但是又需要比较精确的操作时
才推荐使用这种模拟操作.
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2007-3-2 16:23:57 | 只看该作者
不好意思啊。刚学习winrunner,很多不会得。
请教下,如何将对象识别为OBJ?
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2007-3-2 16:25:24 | 只看该作者
原帖由 HYDD 于 2007-3-2 12:13 发表
怎么将他定义成标准list类?


也可以考虑一下影射为TComboBox等标准控件,如果不行也就得用笨方法了sdlkfj8
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2007-3-2 16:32:01 | 只看该作者
原帖由 HYDD 于 2007-3-2 16:23 发表
不好意思啊。刚学习winrunner,很多不会得。
请教下,如何将对象识别为OBJ?


你录制得时候识别得对象能否重放??

你看一下它得对象描述时不时这样?
{
class: object,
MSW_class: *****,        #****时录制到得对象名
displayed: 1,
index: 0                 #或用"location"
}
这样的对象一般可以很好的识别,因为跟X,Y无关

意思就时将对象名为MSW_class得对象识别为 class得对象.
可能需要修改lib\vbinit 下的script对象
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2007-3-5 09:05:30 | 只看该作者
回放的时候有时会出现这样的情况:
点击了一下菜单,下拉菜单出现一下又收回去了。然后就找不到下拉菜单中的命令名了。
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2007-3-7 18:02:29 | 只看该作者
我也碰到了类似的问题
打开IE,输入部分地址,然后在地址栏的下拉框里会有访问记录,我选择下拉框中的地址登录。
录完脚本如下:


# Browser Main Window_1
        win_activate ("Browser Main Window_1");

# Auto-Suggest Dropdown
        set_window ("Auto-Suggest Dropdown", 8);
        list_select_item ("SysListView32", "http://10.0.xx.xxx:6001/claim");


# Browser Main Window_1
        set_window ("Browser Main Window_1", 0);
        edit_set ("browser_main_edit_location", "http://10.0.xx.");

# Auto-Suggest Dropdown
        set_window ("Auto-Suggest Dropdown", 0);
        list_activate_item ("SysListView32", "http://10.0.xx.xxx:6001/claim");

# xxx系统
        set_window("xxx系统",10);
        edit_set("prpDuserUserCode","1101");
        password_edit_set("prpDuserPassword","12b43482f1c35257");
        button_press("登 录");


但是实际回放的时候红色部分的控件无法识别
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2007-3-23 16:03:16 | 只看该作者
对SysListView32可以试试用edit_set直接赋值看行不行
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2007-4-4 21:49:06 | 只看该作者
回答14楼:
  代码中缺少命令,在set_window ("Auto-Suggest Dropdown", 8)前应该有执行打开下拉列表框的动作语句,但是WR没有将其录下来,可以手动加上活着使用模拟模式录制其脚本。
回复 支持 反对

使用道具 举报

该用户从未签到

17#
发表于 2007-10-25 17:38:07 | 只看该作者
其实如果实在不行的话,可以试一下我的土办法:
obj_mouse_click ("ToolbarWindow32", 20, 9, LEFT);
wait(1);
obj_type "ToolbarWindow32","<kDown_E><kDown_E><kDown_E><kDown_E><kReturn>");
第一步为先点击此下拉菜单所在的地点,点此后应用程序应该会自动显示出所有的下拉菜单的选项,最后一步是用"<kDown_E>"来代表向下几行,然后"<kReturn>"代表回车选中.
回复 支持 反对

使用道具 举报

该用户从未签到

18#
发表于 2007-12-14 17:34:29 | 只看该作者
"ToolbarWindow32"是什么?我怎么运行不了,gui里怎么添加"ToolbarWindow32"
谢谢
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-14 23:49 , Processed in 0.194158 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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