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

[求助] 控件的 MSW_id一直变化,winrunner无法识别

控件的 MSW_id一直变化,winrunner无法识别


我们公司做的登陆窗口的“用户名”输入框,在winrunner中取得两个属性值,MSW_id: 1377614,
MSW_class: TRzEdit。
其中msw_id的值每次打开的时候就变化,导致winrunner重放的时候不认识这个控件,请问有什么办法解决?

TOP

可以用虚拟对象解决。
Tools->Virtual object Wizard.

TOP

用虚拟对像不能完成解决这个问题,你需要手工修改该对象的Class,将MSW_id在这个类中去除,将这句话贴到你的脚本中,因为你修改类后,重新运行WR,会回到原来的内容,所以需要将这个class语句贴到脚本中去

TOP

希望该控件的位置和大小不要变


更改贵gui map里的class内容,加上location x ,location y等值,去掉msw_id。

TOP

引用:
原帖由 今天有雾 于 2006-7-7 14:55 发表
用虚拟对像不能完成解决这个问题,你需要手工修改该对象的Class,将MSW_id在这个类中去除,将这句话贴到你的脚本中,因为你修改类后,重新运行WR,会回到原来的内容,所以需要将这个class语句贴到脚本中去
这个具体是怎么做的?我去掉了MSW_id,但是"将这句话贴到你的脚本中"不知道是贴哪句话,到脚本的什么地方?

TOP

引用:
原帖由 iltest 于 2007-7-18 16:38 发表


这个具体是怎么做的?我去掉了MSW_id,但是"将这句话贴到你的脚本中"不知道是贴哪句话,到脚本的什么地方?
一般是在GUI map文件中将MSW_id这个属性去掉,换上location来定位,但是location一般无法准确给出,所以lz需要从0开始逐渐往上添加,并用show按钮确认是哪个location,让WR可以识别正确
You do not talk about fight club
MSN:dionysus_ymh@hotmail.com

TOP

引用:
原帖由 dionysus 于 2007-7-18 21:23 发表

一般是在GUI map文件中将MSW_id这个属性去掉,换上location来定位,但是location一般无法准确给出,所以lz需要从0开始逐渐往上添加,并用show按钮确认是哪个location,让WR可以识别正确
想请教一个问题:我在进行对象映射时都只是把MSW_id删掉,选中了location就直接用了,好像该location的值是自动生成的吧,我看过好多贴都说要一个一个试,但我就搞不清楚该怎么试?在哪里试?非常感谢!
性格决定命运,气度决定格局!
个人网站-http://www.lantianwei.com
欢迎大家访问!

TOP

嗯,谢谢6楼的.这样做果然可以了.

TOP

引用:
原帖由 lantianwei 于 2007-7-19 09:20 发表

想请教一个问题:我在进行对象映射时都只是把MSW_id删掉,选中了location就直接用了,好像该location的值是自动生成的吧,我看过好多贴都说要一个一个试,但我就搞不清楚该怎么试?在哪里试?非常感谢!
一般我是将location替换id,location=..., 没有试过不指定数值是否能回放成功。貌似如果界面上的控件少就不用指定location,类似于QTP描述性编程中常用的index:=... 我见过的一般都是使用函数得到控件的index,并把这个值写到脚本中用来定位控件
大家拍砖
You do not talk about fight club
MSN:dionysus_ymh@hotmail.com

TOP

非常感谢dionysus的回复,在此表示感谢!
性格决定命运,气度决定格局!
个人网站-http://www.lantianwei.com
欢迎大家访问!

TOP

引用:
原帖由 dionysus 于 2007-7-18 21:23 发表

一般是在GUI map文件中将MSW_id这个属性去掉,换上location来定位,但是location一般无法准确给出,所以lz需要从0开始逐渐往上添加,并用show按钮确认是哪个location,让WR可以识别正确
我也是新学WR,正好遇到这个问题,听不太懂啊,能否把步聚说清楚点啊?非常感谢哦!

TOP

怎么做才能在识别对象时,不用class和MSW_id来识别,用label、name、attached_text等属性

TOP

这也就是winrunner中的对象映射的机制

点击winrunner->tools-gui map configuration ,8.2版本的话点击+号,然后用hand选择你需要识别的那个控件;点击ok后,选择edit(就是删除键后面那个)
在弹出的configure class窗口中

mapped to class表示你需要把你的对象映射成那个控件,像楼上说的那个,应该可以把它映射成edit对象

然后在learned properties中选择你需要识别的属性
有可选,不用,必选3个选项

最下面你可以选择在上述属性都无法识别的情况下,是用loaction还是index来识别

点击ok就行了

如果想下次不再重复这个工作,点击configure class窗体中的paste按钮
把映射的这段话加到你脚本的最开始就ok了

TOP

回复 9# 的帖子


用什么函数得到控件的index
我这里用location,好像也不行,因为有不同的输入,会出现不同的控件,而它们是在同一个地方的.
识别出来就成同一个对象了

TOP

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