生如火花 2004-10-22 22:58
[原创]GUI文件的制作及维护(一)
GUI文件是脚本和程序连接的纽带。一份准确的GUI文件能使脚本的通用性增强,同时降低维护成本。
制作GUI文件:
一,尽可能的拥有插件的支持,比如dephi编写的程序,尽量安装上dephi插件。这样有利于WR学习窗体和对象(包括按钮等)。
二,模拟操作,一步一步的打开窗口。每出现一个窗口,让WR learn一下出现的整个窗口。特别的,不要漏掉可能弹出的异常窗口,或者是关闭程序或者功能时蹦出的确认小窗口。
三,对于窗口label变化的,在MAP EDITER里使用通配符使窗口通用。方法是在label:""中添加!.*,比如有3个窗口win123,win325,win999,就在里面改成!win.*。依此类推。
四,对于窗体中的对象的修改,这个是对脚本通用性影响最大的。首先需要注意对象的格式。如果在对象名后多了_1,_2,_3这样的,要特别注意修改。很有可能这些都是不需要的,而且在重新打开程序他们就变化了,对于这中对象我们需要检查它的属性,看有没有msw_id这一行。有的话,删掉,用location:X换掉他,下面说一下怎么确定X:
1 先把X设为0,执行第2步;不行的话,然后是1,然后是2。
2 把被测程序窗口最大化,把WR窗口缩小,打开gui map editor,点对象,看是不是能在被测程序中高亮标识。能,X就是对的,保存,不能,回第1步。
五,运行录制好的脚本,观察有哪些对象通用性差,进行修改。具体情况,具体分析。
我也是初学,请大家多帮助。
QA_BAY 2004-10-22 23:55
非常好,顶
QA_BAY 2004-10-22 23:56
就在里面改成!win.*。对了,为什么要这样改呢?是不是规定这样的呢?
生如火花 2004-10-23 00:54
[quote]Originally posted by [i]QA_BAY[/i] at 2004-10-22 11:56 PM:
就在里面改成!win.*。对了,为什么要这样改呢?是不是规定这样的呢? [/quote]这是通配符,标识窗体前3个字符为win的所有窗体。
QA_BAY 2004-10-23 10:43
对了,是不是所有的控件含有MSW_ID都要改成LOCATION:0呢?
先把X设为0,执行第2步;不行的话,然后是1,然后是2。(然后1是什么呢?2又是什么呢?指第一,二步吗?)不太清楚!
生如火花 2004-10-23 13:07
意思是location:0不行就换location:1 location:2
girl04 2004-10-24 22:04
"点对象,看是不是能在被测程序中高亮标识。"\\不明白,能说清楚一点吗?谢谢
生如火花 2004-10-25 00:26
按我说的做,你就知道什么意思了
lanxn 2004-10-25 10:25
不错,非常好
多事 2004-10-26 16:08
火花写的非常的好呀。请继续往后面的介绍吧
生如火花 2004-10-26 16:14
最近很忙。得整理头绪。
wawzjlp 2004-10-26 16:28
收藏起来``
lkcom 2004-10-26 16:36
“对于这中对象我们需要检查它的属性,看有没有msw_id这一行。有的话,删掉,”如何操作这句话。
生如火花 2004-10-26 17:13
[quote]Originally posted by [i]lkcom[/i] at 2004-10-26 04:36 PM:
“对于这中对象我们需要检查它的属性,看有没有msw_id这一行。有的话,删掉,”如何操作这句话。 [/quote]在map editor 里点modify
lkcom 2004-10-27 14:37
点对象,看是不是能在被测程序中高亮标识。"
亮度是什么意思,可否把“高亮标识”截图下来,看看,谢谢了
生如火花 2004-10-27 15:17
会闪的,我截不到
lkcom 2004-10-27 16:31
非常感谢“生如火花”朋友,我明白了,顶
wei2j 2004-11-3 09:38
确实很有帮助啊,多谢楼主啦!
生如火花 2004-11-14 16:11
自己的贴,自己 up,hehe
sunfy 2004-11-26 11:44
写的太好了,不过还是有个小问题请教:)
二,模拟操作,一步一步的打开窗口。每出现一个窗口,让WR learn一下出现的整个窗口。特别的,不要漏掉可能弹出的异常窗口,或者是关闭程序或者功能时蹦出的确认小窗口。
在录制的时候也可以learn吗?
如果在录制的时候把所有窗口都弹出(如异常窗口)的话,那回放的时候不需要回放异常窗口怎么办?
谢谢:)
QA_BAY 2004-11-26 22:18
录制的时候也可以learn:应该不是这个意思吧
录制的时候就是说如果你原先没有LEARN到的GUI,他要变成一个*号
然后会放在临时文件那里需要你保存起来!
那回放的时候不需要回放异常窗口怎么办?
那些就保存在GUI里,没有关系的!
yuelin 2004-11-30 09:33
呵呵 ,又长了见识了,多谢了
lousia 2004-12-29 00:12
[quote]Originally posted by [i]生如火花[/i] at 2004-10-26 05:13 PM:
在map editor 里点modify [/quote]
我的TelTelbeta窗体上有11个button,很奇怪昨天用learn学出来class:object 今天学出来class:push_button真是好奇怪啊.
于是我通过GUI map configuration ->push_button->modify来修改在optional 里把MSW_id去掉了,GUI map configuration ->object->modify来修改在optional 里把MSW_id去掉了,用其中一个闪的按钮来判断if(obj_exists("Button_9")==E_OK) 还是不能判断,通过learn学习后确实每个button都闪了
tanhuang 2004-12-29 15:02
very good ! 看过了再过下,真太棒了.
生如火花 2004-12-29 17:35
[quote]Originally posted by [i]lousia[/i] at 2004-12-29 12:12 AM:
我的TelTelbeta窗体上有11个button,很奇怪昨天用learn学出来class:object 今天学出来class:push_button真是好奇怪啊.
于是我通过GUI map configuration ->push_button->modify来修改在optional 里把MSW ... [/quote]
不是map configuration是GUI map editor
dyjyhx 2005-1-5 08:38
期待<二>,<三>..............................
nfwolf 2005-1-18 17:37
刚用WR,不是很知道怎么会事
问一个问题,如果我们在输入过程中,出现软件的错误,那测试还有什么意义
是不是learn一个已经测试正确的版本呢?
lousia 2005-2-18 14:55
下面的图上有两个问题,请指点
lousia 2005-2-18 16:27
“三,对于窗口label变化的,在MAP EDITER里使用通配符使窗口通用。方法是在label:""中添加!.*,比如有3个窗口win123,win325,win999,就在里面改成!win.*。依此类推。”
我有个问题
如果窗体名称是 1-Ethereal ,2-Ethereal ,3-Ethereal ...
那么怎么改呢?
我改成!.*-Ethereal ,winrunner不认识的
生如火花 2005-2-20 12:27
Display是一个菜单吧。。。你的软件是什么语言开发的?
2用GUI SPY观察object 的standard属性看看,找不到是什么意思,MAP里有没有?
3这种情况我没遇到过,估计是-号的原因,不认识是指什么情况,提示语法错误还是改了以后没有找到窗体?
xinyijiu25 2005-3-9 16:35
非常感谢,利用这种方法我解决了此类问题。
harryhu 2005-3-17 11:13
我们的网页使用JAVA和javascript开发的,但是每次都是第一天录制的脚本,第二天运行脚本的时候提示说对象不识别,要重新relearn,不知道为什么,郁闷啊
生如火花 2005-3-18 13:03
b/s结构的系统建议使用Qtp,放弃用WR测试b/s结构会为你省下时间
lgwmlx 2005-4-23 21:55
非常好的文章,看了受益非浅
xihong2004 2005-5-12 09:17
好贴
顶
顶
顶
zhengfeng 2005-5-19 18:52
新记录的 Id 自动增加,我录制时Id是 120,
run时,可能是 121(变量newId) ,如何使Winrunner 识别此对象,并link 标签是 newId 的链接呢?
[[i] Last edited by zhengfeng on 2005-5-19 at 18:54 [/i]]
zhengfeng 2005-5-19 18:57
接上贴
原来脚本:
set_window("mainFrame1",65);
web_link_click(116);
我改成:
set_window("mainFrame1",65);
web_link_click(newId);
不行吧?
请指教! (附: GUI改动)
[[i] Last edited by zhengfeng on 2005-5-19 at 19:01 [/i]]
zhengfeng 2005-5-19 19:02
接上贴
GUI这样改动,行吗?
请楼主或哪位高手 提供整体的解决方案,非常感谢!:d
[[i] Last edited by zhengfeng on 2005-5-19 at 19:06 [/i]]
lizhiweistar 2005-5-26 17:18
QA_BAY,还有生如火花,能不能把你们的msn或者QQ告诉我一下啊,我想和你们交流交流学习winrunner的心得!我的QQ是:123197445,MSN:lizhiweistar@hotmail.com
connie 2005-6-27 17:48
请问:MSW_id到底是个什么参数?
我按照生如火花的将部分GUI文件的物理描述中的MSW_id删掉,并且改成location:X,有一部分可以识别,但是某些地方的MSW_id不可以这样操作。而且我发现MSW_id并没有随着我每次操作的不同而变化,比如某个聊天框,"MSW_id:1001"这条语句一直没有变过。其它的很多GUI的MSW_id这条语句也都是不变的。这是为什么?