dirkabc 发表于 2005-9-29 00:33:52

脚本回放过程中出现突发错误如何处理

脚本如下:
set_window ("新增未入账卡片", 2);
        obj_mouse_click ("TQEdit_原值 ", 27, 10, LEFT);
        obj_type ("TQEdit_原值","<kBackSpace><kBackSpace><kBackSpace><kBac
kSpace><kBackSpace><kBackSpace><kBackSpace><kBackSpace><kBackSpace><kBackSpace><kBackSpace><kBackSpace>20000");
        list_select_item ("TFlatComboBox_6", "购置");# Item Number 1;
    button_press ("保存");
        set_window ("新增未入账卡片", 5);
        button_press("关闭");

正常情况下执行外保存后,应该在执行关闭命令,然后退出新增未入账卡片新增窗口。但是在回放过程中由于未知原因引起保存错误,执行button_press ("保存");命令后,跳出错误提示窗口,引起下面的脚本无法执行;
请问各位老大,如果编写脚本,让脚本能够在在这种情况下自动跳过错误提示窗口,继续执行下面的脚本。这里新增的记录对以后的脚本没有影响。

Mac.Meng 发表于 2005-9-29 10:29:42

能贴出你所说的错误提示窗口吗?

kalele 发表于 2005-9-29 10:52:12

最近我在录制的一些脚本中,回放有时成功有时又提示识别不了,第二天再回放出现的就更多了,真的很郁闷啊。。。这是什么问题?谁能帮帮我?

aswoon911 发表于 2005-9-29 13:48:49

GUI文件检查过么?

kalele 发表于 2005-9-29 14:23:14

我用这个RapidTest Script Warizd...学习整个窗口,但是给我的却是一段代码:
load("chkui",1,1);
load_os_api();
time_out=getvar("timeout");

###Use the list of checks below to define the UI checks you want the test to perform.
###Define a check as "TRUE" if you want it to be included.

lbl_chk=FALSE;                        #checks capital letter of labels on controls.
ok_can_chk=FALSE;                #checks existence of OK/Cancel buttons.
sys_chk=TRUE;                #checks existence of system menu.
text_chk=TRUE;                #checks if all text of controls is visible.
overlap_chk=FALSE;        #checks that controls do not overlap.
align_chk=FALSE;                #checks alignment of controls.

configure_chkui(lbl_chk,ok_can_chk,sys_chk,text_chk,overlap_chk,align_chk);
win_open("TradeMatics 1.1 - Microsoft Internet Explorer_2",time_out);
        check_ui("TradeMatics 1.1 - Microsoft Internet Explorer_2");

之后就没有下文了呀。。。。
我是初学者。。。。。所以。。。

kalele 发表于 2005-9-29 14:25:31

都还没有谢谢你的帮忙呢,:)

aswoon911 发表于 2005-9-29 14:51:20

这一段代码是RapidTest Script Warizd自动产生的,它的作用基本就是以代码形式告诉WR你需要的一些运行设置,比如加载什么模块,超时,API以及哪些项目要被测试等等.在这段代码之后你还需要自己录制被测试软件具体的测试用例.

同时,对于这样方式产生的GUI文件,你需要保存起来,并且每次运行脚本时要调入脚本.否则你的脚本就找不到GUI而不能运行.你下载了我的小脚本,可以考虑按照GUI_load那个方法,每次自动调入GUI文件,避免出错.
另外,一般情况下,针对多窗体程序,RapidTest Script Warizd一般不能把全部窗体对象一次性全部识别,个别GUI对象要自己手动指定它识别,否则,也会出现你所碰到的不能识别情况.

dirkabc 发表于 2005-9-29 15:27:17

错误提示窗口在回放的过程中出现的,或者是由于数据原因,或者是由于系统问题,引起保存错误,跳出错误提示框,从而引起下面的脚本无法执行。
但是由于错误窗口是未知的,所以无法在脚本中写代码把它屏蔽掉。
请问有什么好的办法能够使下面脚本继续执行吗?
错误窗口是一个普通的提示窗口。

[ Last edited by dirkabc on 2005-9-29 at 15:30 ]

aswoon911 发表于 2005-9-29 15:36:47

方法还是有的,但是前提依旧是先教会WR识别你所有的错误窗口提示,然后一旦出现任何一种提示,,叫WR关掉POP提示窗口,继续运行脚本.

至于用哪种方法识别错误窗口,可以采取
define_popup_exception
配合exception_on
来具体实现,这两个function的具体使用可以按F1查阅,说明文档还算清楚.基本大意就是在define_popup_exception定义好对哪个错误窗口采取哪些动作,这些动作你可以写进一个function.
然后,使用exception_on开始检测是否会有这些窗口弹出.不需要监测的时候使用exception_off关闭检测即刻.

aswoon911 发表于 2005-9-29 15:43:47

既然你的提示窗口就一个,那更是完全可以使用这两个function了,下面是我的提示:
define_popup_exception ("close_scenario","close_wrong_message", "POP_window" );
public function close_wrong_message()
{
set_window("POP_window");
win_close(POP_window);
}
exception_on("close_scenario");

.......

你的脚本


...........

其中POP_window是你的错误窗口的逻辑名,你需要教会WR来识别

[ Last edited by aswoon911 on 2005-9-29 at 15:48 ]
页: [1]
查看完整版本: 脚本回放过程中出现突发错误如何处理