查看完整版本: [原创]GUI文件的制作及维护(一)

生如火花 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这条语句也都是不变的。这是为什么?
页: [1] 2
查看完整版本: [原创]GUI文件的制作及维护(一)