[原创]在WR7.6里对异常窗口的一种解决方法
类似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报告出来 呵呵好东西 不错 我试了怎么不行啊?
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()监测异常窗口并处理,到底是怎么用的?起什么作用? 正常,因为它叫popup,所以,只有在这个窗口弹出之前加上exception_on才能生效,你窗口都出来了才执行exception_on,叫它怎么执行呢?应该这样:
1。定义
2。加上exception_on语句
3。打开窗口,结果就自动关闭了
。。。。。。 注意脚本位置,TSL是从上执行到下的。这个处理只对它后面发生的动作起作用 Success!!哈哈,谢谢!!今天我都在看你的贴,以后有什么不懂的请多多指教哦 没有看明白。请高手在指点一、二。先谢谢了
类似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异常窗口启动了? willcheung,能把你成功的脚本贴出来吗?谢谢了。 这说的是把QQ程序看做是异常出现的窗口 我找一个异常窗口试试看,先谢谢了 代码是不是应该这样
# 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找不到。但有时能关掉,这是什么原因。请高手指点 Windows弹出的异常窗口,象什么“指令错误,内存不能为“Read””的那种异常窗口,WinRunner就不能Learn它的窗口,还能用这种方法处理吗? 楼主怎么不来看一看呀? 我说了,前提是WR能learn到这个窗口,不能learn的不可以用这个方法解决。 Originally posted by 生如火花 at 2005-1-18 02:56 PM:
注意脚本位置,TSL是从上执行到下的。这个处理只对它后面发生的动作起作用
在执行后,有时会关不掉Open Order窗口,结果中显示closethe_Open_Order找不到。但有时能关掉,这是什么原因。请高手指点
确认一下情况。 谢谢楼主,明白了
请问楼主
如果那个异常窗口learn不到的话,也就是在测试时,并不能预知异常窗口的出现,又用什么方法呢?谢谢指教! 我不是神 生如火花,我知道你行的:p,谢谢这段时间以来,你给我的帮助,真的很感谢。[ Last edited by mojinde on 2005-1-25 at 17:08 ]
页:
[1]
2