google搜索 51Testing站内搜索                    软件测试门户 | 软件测试培 训 | 文章资料精选 | 软件测试论坛 | 软件测试博客 | 测试招聘求职 
打印

[求助] WR8.0 不能识别下拉菜单怎么办??

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


我用WR8.0在录制脚本后,在回放的时候,WR无法打开下拉菜单中的窗体,
原因是找不到该菜单.
脚本中没有对下拉菜单的鼠标单击记录.

请各位朋友帮忙!

TOP

楼主把脚本和录制程序放上来吧
You do not talk about fight club
MSN:dionysus_ymh@hotmail.com

TOP

回复 #2 dionysus 的帖子


公司卡的严啊~内外网分离~不准往外考东西哦~-

TOP

你试下加条下拉菜单的鼠标单击记录:
move_locator_rel(500,500);
click("Left");

TOP

如果是非标准控件的话,而你又没有将他定义为标准控件,那WR识别不了是十分正常的,解决方法:将它定义为标准LIST类。
如果标准控件,那你是否已经保存相应的GUI文件,并在运行的时候load入GUI文件。

TOP

怎么将他定义成标准list类?

TOP

我这里也存在楼主说得情况,后来发现第一次点击下拉菜单的操作脚本没有自动生成,后来手工加了一句:obj_mouse_click ("ToolbarWindow32", 20, 9, LEFT);
之后就可以了。那个坐标还得自己试下到底是什么值

TOP

对付非标准控件就要用卑鄙的方法:
1,将对象识别未OBJ;
2,
   OBJ_GET_TEXT("OBJ",TEXT);                #获取OBJ的TEXT;
   while(TEXT != "***")                            #不是所要的列表项
   {
         OBJ_TYPE("OBJ","<kDOWN>"); #使用键盘模拟选择下一项
         OBJ_GET_TEXT("OBJ",TEXT);    #获取当前项的信息
   }

TOP

这样可以比较精确的模拟为标准控件的操作了,但是缺陷就是效率和资源都不够理想,
一般在控件无法识别为标准控件,没有其他合适的函数使用但是又需要比较精确的操作时
才推荐使用这种模拟操作.

TOP

不好意思啊。刚学习winrunner,很多不会得。
请教下,如何将对象识别为OBJ?

TOP

引用:
原帖由 HYDD 于 2007-3-2 12:13 发表
怎么将他定义成标准list类?
也可以考虑一下影射为TComboBox等标准控件,如果不行也就得用笨方法了sdlkfj8

TOP

引用:
原帖由 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对象

TOP

回放的时候有时会出现这样的情况:
点击了一下菜单,下拉菜单出现一下又收回去了。然后就找不到下拉菜单中的命令名了。

TOP

我也碰到了类似的问题
打开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("登 录");


但是实际回放的时候红色部分的控件无法识别

TOP

对SysListView32可以试试用edit_set直接赋值看行不行

TOP

回答14楼:
  代码中缺少命令,在set_window ("Auto-Suggest Dropdown", 8)前应该有执行打开下拉列表框的动作语句,但是WR没有将其录下来,可以手动加上活着使用模拟模式录制其脚本。

TOP

其实如果实在不行的话,可以试一下我的土办法:
obj_mouse_click ("ToolbarWindow32", 20, 9, LEFT);
wait(1);
obj_type "ToolbarWindow32","<kDown_E><kDown_E><kDown_E><kDown_E><kReturn>");
第一步为先点击此下拉菜单所在的地点,点此后应用程序应该会自动显示出所有的下拉菜单的选项,最后一步是用"<kDown_E>"来代表向下几行,然后"<kReturn>"代表回车选中.
努力学习,为了早日从小菜变成新手.

TOP

"ToolbarWindow32"是什么?我怎么运行不了,gui里怎么添加"ToolbarWindow32"
谢谢

TOP

 
当前时区 GMT+8, 现在时间是 2008-9-6 12:22Copyright(C)上海博为峰软件技术有限公司 2001-2007 电话:021-64471599-8017
当您在访问网站、论坛及博客过程中遇到问题时可发送email:webmaster@51testing.com或发送论坛短信至管理员风在吹