51Testing软件测试论坛

标题: winrunner能否识别自身的Run Wirzad对话框 [打印本页]

作者: 李文    时间: 2007-2-5 15:30
标题: winrunner能否识别自身的Run Wirzad对话框
在录制脚本过程中,有的时候由于回放速度等原因造成某些对象无法识别,这样就会出现
Run Wirzad窗口从而造成测试间断,一直想找个办法能让winrunner识别这类winrunner自身的提示对话框,这样就可以在异常处理中将winrunner自身的提示对话框关掉,然后继续执行录制脚本,试过很多方法都不能使winrunner识别自身的提示对话框。不知哪位高手知道如何解决这个问题???
作者: lsy325    时间: 2007-2-5 17:47
对WinRunner进行设置就可以了达到目的了。
执行前把Tools--General Options--Run--Settings--Break when verification fails复选框选择取消。
这样就不会在无法识别对象时暂停回放了,会忽略掉错误,继续往下执行脚本。
作者: 李文    时间: 2007-2-6 09:24
知道这个方法,但是这样就会导致下面的脚本执行错误!!!!
我想用异常捕获的方法捕获winrunner自身的提示对话框,这样就可以避免这种winrunner自身的错误,可是winruuner好像无法学习自身对话框的gui,这也正是我郁闷的原因.
作者: dionysus    时间: 2007-2-6 10:18
WR不能识别自身的对话框,所有自动化工具都无法做到100%的自动化,lz可以从脚本入手解决问题,回放速度过快和异常捕捉的方法都可以在本区找到相应帖子
ps:异常捕捉似乎也不能处理自身的异常吧,可以看看本区的置顶文章
作者: lsy325    时间: 2007-2-6 10:37
“知道这个方法,但是这样就会导致下面的脚本执行错误!!!!”

你可以在适当的地方加入判断条件,根据脚本执行是否成功来设置异常处理。
作者: 李文    时间: 2007-2-7 10:29
谢谢大家,举个例子吧,执行word中的这个过程:菜单栏中选择插入->分隔符->分页符,然后点OK  这个过程循环执行后winrunner经常会出现提示:无法找到对象分隔符窗口。原因当然是自动化执行点击菜单栏中插入按钮时出了问题,这当然是winrunner自身的问题!!!
于是我就想利用异常机制捕获这个WR自身的对话框,然后将其关闭后重新执行循环,当然通过
dionysus的回复知道这个想法是行不通的;这样只能用lsy325的方法在插入动作后写代码,判断是否出现对象分隔符窗口了,但是这只是针对这个例子,当要编写大量脚本时,我感觉工作量太大了,不知道还有没有更好的方法!
作者: lsy325    时间: 2007-2-7 13:15
你要关闭重新执行的话,用WinRunner自身提供的异常处理函数就可以了,例如处理点击按钮失败.
public function button_press_handler ()
{
    exception_off_all() ;
    report_msg("button_press failed.");
    texit;
}

define_tsl_exception("button_press_ex","button_press_handler",E_ANY_ERROR,"button_press");
exception_on("button_press_ex");

set_window ("窗体", 5);
button_press ("按钮");




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