51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 13874|回复: 30
打印 上一主题 下一主题

[原创]在WR7.6里对异常窗口的一种解决方法

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2004-11-23 23:12:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
类似7.0的异常处理功能,7.6把exception handling做成了函数,对于一个我们能肯定它会出现,但不知道它什么时候会出现的窗口,在脚本中可以用exception进行解决

假设异常的窗口是QQ程序,首先保证GUI MAP Editor能把窗体learn到。
在map里,它是
{
class: window,
label: " ",
MSW_class: "#32770"
}
先把窗体的logical name改成win_qq,

然后添上这么一段脚本:
##如果QQ启动了,就关闭它
define_popup_exception ("closetheqq","close_qq", "win_qq" );
public function close_qq()
{
set_window("win_qq",3);
win_close("win_qq");
}
exception_on("closetheqq");

这样,一旦出现了QQ的窗口,WR就会自动的关闭他,这与7.0里的异常处理是有相通处的。并且,你可以在close_qq这样的函数里添加标记,记录出错次数。然后用report报告出来
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏

该用户从未签到

2#
发表于 2004-12-8 09:04:48 | 只看该作者
呵呵  好东西
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2004-12-8 20:25:29 | 只看该作者
不错
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2005-1-18 12:28:41 | 只看该作者
我试了怎么不行啊?
define_popup_exception ("closethemb","close_mb", "**计算软件" );
public function close_mb()
{
set_window("**计算软件",3);

win_close("**计算软件");
}
exception_on("closethemb");
我执行后**计算软件窗口没有关掉阿,但是我仅执行以下语句时可以关掉该窗口
set_window("**计算软件",3);

win_close("**计算软件");
请问,define_popup_exception()监测异常窗口并处理,到底是怎么用的?起什么作用?
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2005-1-18 12:58:21 | 只看该作者
正常,因为它叫popup,所以,只有在这个窗口弹出之前加上exception_on才能生效,你窗口都出来了才执行exception_on,叫它怎么执行呢?应该这样:
1。定义
2。加上exception_on语句
3。打开窗口,结果就自动关闭了
。。。。。。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2005-1-18 14:56:45 | 只看该作者
注意脚本位置,TSL是从上执行到下的。这个处理只对它后面发生的动作起作用
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2005-1-18 16:03:18 | 只看该作者
Success!!哈哈,谢谢!!今天我都在看你的贴,以后有什么不懂的请多多指教哦
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2005-1-20 10:37:35 | 只看该作者
没有看明白。请高手在指点一、二。先谢谢了

类似7.0的异常处理功能,7.6把exception handling做成了函数,对于一个我们能肯定它会出现,但不知道它什么时候会出现的窗口,在脚本中可以用exception进行解决

假设异常的窗口是QQ程序,首先保证GUI MAP Editor能把窗体learn到。
在map里,它是
{
class: window,
label: " ",
MSW_class: "#32770"
}
先把窗体的logical name改成win_qq,

然后添上这么一段脚本:
##如果QQ启动了,就关闭它
define_popup_exception ("closetheqq","close_qq", "win_qq" );
public function close_qq()
{
set_window("win_qq",3);
win_close("win_qq");
}
exception_on("closetheqq");

这样,一旦出现了QQ的窗口,WR就会自动的关闭他,这与7.0里的异常处理是有相通处的。并且,你可以在close_qq这样的函数里添加标记,记录出错次数。然后用report报告出来

----------------------------------------------------------------------
这里提到的“假设异常的窗口是QQ程序,首先保证GUI MAP Editor能把窗体learn到。 ”learn窗体是learnQQ出现异常的哪个窗体还是QQ本身的窗体?

还有注释中说道##如果QQ启动了,就关闭它
这个启动是QQ程序启动了,还是QQ异常窗口启动了?
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2005-1-20 10:41:28 | 只看该作者
willcheung,能把你成功的脚本贴出来吗?谢谢了。
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2005-1-20 16:32:02 | 只看该作者
这说的是把QQ程序看做是异常出现的窗口
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2005-1-21 10:28:53 | 只看该作者
我找一个异常窗口试试看,先谢谢了
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2005-1-21 11:18:08 | 只看该作者
代码是不是应该这样
# Flight Reservation
        win_activate ("Flight Reservation");
        set_window ("Flight Reservation", 2);
       
    define_popup_exception ("closethe_Open_Order","close_Open_Order", "Open Order" );

   
    exception_on("closethe_Open_Order");
# Open Order
    menu_select_item ("File;Open Order...");

    public function close_Open_Order()
    {
       set_window("Open Order",3);
       win_close("Open Order");
    }


在执行后,有时会关不掉Open Order窗口,结果中显示closethe_Open_Order找不到。但有时能关掉,这是什么原因。请高手指点
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2005-1-21 11:39:47 | 只看该作者
Windows弹出的异常窗口,象什么“指令错误,内存不能为“Read””的那种异常窗口,WinRunner就不能Learn它的窗口,还能用这种方法处理吗?
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2005-1-24 14:05:27 | 只看该作者
楼主怎么不来看一看呀?
回复 支持 反对

使用道具 举报

该用户从未签到

15#
 楼主| 发表于 2005-1-24 15:26:35 | 只看该作者
我说了,前提是WR能learn到这个窗口,不能learn的不可以用这个方法解决。
回复 支持 反对

使用道具 举报

该用户从未签到

16#
 楼主| 发表于 2005-1-24 15:30:19 | 只看该作者
Originally posted by 生如火花 at 2005-1-18 02:56 PM:
注意脚本位置,TSL是从上执行到下的。这个处理只对它后面发生的动作起作用
在执行后,有时会关不掉Open Order窗口,结果中显示closethe_Open_Order找不到。但有时能关掉,这是什么原因。请高手指点

确认一下情况。
回复 支持 反对

使用道具 举报

该用户从未签到

17#
发表于 2005-1-24 15:44:03 | 只看该作者
谢谢楼主,明白了
回复 支持 反对

使用道具 举报

该用户从未签到

18#
发表于 2005-1-25 15:50:11 | 只看该作者

请问楼主

如果那个异常窗口learn不到的话,也就是在测试时,并不能预知异常窗口的出现,又用什么方法呢?谢谢指教!
回复 支持 反对

使用道具 举报

该用户从未签到

19#
 楼主| 发表于 2005-1-25 16:31:10 | 只看该作者
我不是神
回复 支持 反对

使用道具 举报

该用户从未签到

20#
发表于 2005-1-25 17:05:31 | 只看该作者
生如火花,我知道你行的:p,谢谢这段时间以来,你给我的帮助,真的很感谢。

[ Last edited by mojinde on 2005-1-25 at 17:08 ]
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-11 05:59 , Processed in 0.091999 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表