51Testing软件测试论坛

标题: 控件的 MSW_id一直变化,winrunner无法识别 [打印本页]

作者: xiaoh43    时间: 2006-6-30 17:58
标题: 控件的 MSW_id一直变化,winrunner无法识别
我们公司做的登陆窗口的“用户名”输入框,在winrunner中取得两个属性值,MSW_id: 1377614,
MSW_class: TRzEdit。
其中msw_id的值每次打开的时候就变化,导致winrunner重放的时候不认识这个控件,请问有什么办法解决?
作者: wuzhuayu    时间: 2006-7-1 14:28
可以用虚拟对象解决。
Tools->Virtual object Wizard.
作者: 今天有雾    时间: 2006-7-7 14:55
用虚拟对像不能完成解决这个问题,你需要手工修改该对象的Class,将MSW_id在这个类中去除,将这句话贴到你的脚本中,因为你修改类后,重新运行WR,会回到原来的内容,所以需要将这个class语句贴到脚本中去
作者: guyu_susa    时间: 2006-7-10 15:46
标题: 希望该控件的位置和大小不要变
更改贵gui map里的class内容,加上location x ,location y等值,去掉msw_id。
作者: iltest    时间: 2007-7-18 16:38
原帖由 今天有雾 于 2006-7-7 14:55 发表
用虚拟对像不能完成解决这个问题,你需要手工修改该对象的Class,将MSW_id在这个类中去除,将这句话贴到你的脚本中,因为你修改类后,重新运行WR,会回到原来的内容,所以需要将这个class语句贴到脚本中去


这个具体是怎么做的?我去掉了MSW_id,但是"将这句话贴到你的脚本中"不知道是贴哪句话,到脚本的什么地方?
作者: dionysus    时间: 2007-7-18 21:23
原帖由 iltest 于 2007-7-18 16:38 发表


这个具体是怎么做的?我去掉了MSW_id,但是"将这句话贴到你的脚本中"不知道是贴哪句话,到脚本的什么地方?

一般是在GUI map文件中将MSW_id这个属性去掉,换上location来定位,但是location一般无法准确给出,所以lz需要从0开始逐渐往上添加,并用show按钮确认是哪个location,让WR可以识别正确
作者: lantianwei    时间: 2007-7-19 09:20
原帖由 dionysus 于 2007-7-18 21:23 发表

一般是在GUI map文件中将MSW_id这个属性去掉,换上location来定位,但是location一般无法准确给出,所以lz需要从0开始逐渐往上添加,并用show按钮确认是哪个location,让WR可以识别正确

想请教一个问题:我在进行对象映射时都只是把MSW_id删掉,选中了location就直接用了,好像该location的值是自动生成的吧,我看过好多贴都说要一个一个试,但我就搞不清楚该怎么试?在哪里试?非常感谢!
作者: iltest    时间: 2007-7-19 09:21
嗯,谢谢6楼的.这样做果然可以了.
作者: dionysus    时间: 2007-7-19 16:15
原帖由 lantianwei 于 2007-7-19 09:20 发表

想请教一个问题:我在进行对象映射时都只是把MSW_id删掉,选中了location就直接用了,好像该location的值是自动生成的吧,我看过好多贴都说要一个一个试,但我就搞不清楚该怎么试?在哪里试?非常感谢!

一般我是将location替换id,location=..., 没有试过不指定数值是否能回放成功。貌似如果界面上的控件少就不用指定location,类似于QTP描述性编程中常用的index:=... 我见过的一般都是使用函数得到控件的index,并把这个值写到脚本中用来定位控件
大家拍砖
作者: lantianwei    时间: 2007-7-20 09:00
非常感谢dionysus的回复,在此表示感谢!
作者: qinliu    时间: 2007-8-8 15:58
原帖由 dionysus 于 2007-7-18 21:23 发表

一般是在GUI map文件中将MSW_id这个属性去掉,换上location来定位,但是location一般无法准确给出,所以lz需要从0开始逐渐往上添加,并用show按钮确认是哪个location,让WR可以识别正确

  


我也是新学WR,正好遇到这个问题,听不太懂啊,能否把步聚说清楚点啊?非常感谢哦!
作者: qinliu    时间: 2007-8-8 16:07
怎么做才能在识别对象时,不用class和MSW_id来识别,用label、name、attached_text等属性
作者: fengxueren    时间: 2007-8-8 16:52
这也就是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了
作者: xue1314kx    时间: 2008-4-25 13:24
标题: 回复 9# 的帖子
用什么函数得到控件的index
我这里用location,好像也不行,因为有不同的输入,会出现不同的控件,而它们是在同一个地方的.
识别出来就成同一个对象了
作者: leoling    时间: 2011-4-14 09:41
小弟一个问题:属性当中唯一能定位对象的只有ABS_X,ABS_Y, 但这样感觉是下下策,不可能所有的控件都这样来定位。Index + Location 就可以定位到对象,但是也是用笨方法,一个个的数字去试,有什么方法能获取到这两个属性类?




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2