51Testing软件测试论坛

标题: 不明白为什么出错? [打印本页]

作者: aurora    时间: 2005-4-21 17:56
标题: 不明白为什么出错?
代码如下:
if (GUI_load("userManage.gui")!=0)
{
        pause ("Can't load userManage.gui");
        texit;
}else
{
        call userAdd();
        call userDelete();
}
GUI_close("userManage.gui");
这些代码是在主调用脚本里的,是该脚本的所有语句。

在运行前,已经将所有gui文件关闭,测试结果前面都对了(userAdd,userDelete成功执行),也就是说在GUI_close("userManage.gui");语句后出错,可是后面根本没代码了,请多多帮忙啊!!。
作者: aurora    时间: 2005-4-21 18:06
经过查看,gui文件已经关闭。
else
{
        call userAdd();
        call userDelete();
        GUI_close("userManage.gui");
}
将GUI_close("userManage.gui");放入else语句同样报错,
是语法错误,syntax error,
是说我需要在外面加个函数吗?
作者: shyfish    时间: 2005-4-22 08:59
应该是GUI_open和GUI_close, GUI_close_all对应
GUI_load和GUI_unload, GUI_unload_all对应吧?
所以应该用GUI_unload("userManage.gui");

TSL里是这么描述GUI_open和GUI_load的关系的:
The GUI_open function opens a GUI map file. The function enables changes to be made within the file, such as modifying descriptions and deleting or adding GUI objects. Note that the file must be loaded with GUI_load in order for it to be part of the GUI map.
应该是说用GUI_open是打开GUI文件,这样就可以在脚本中对GUI文件进行操作,而且必须使用GUI_load语句来载入GUI文件到GUI map中,这样才可以使用GUI文件中的配置
作者: 西西    时间: 2005-4-22 09:24
虽然不是一一配套用,但也不会出现错误,可能是别的原因。
作者: 生如火花    时间: 2005-4-22 09:30
单步调试,看是哪一句出错?
作者: shyfish    时间: 2005-4-22 10:12
Originally posted by 西西 at 2005-4-22 09:24:
虽然不是一一配套用,但也不会出现错误,可能是别的原因。

呵呵,是啊。确实有点奇怪,本来如果有syntax error的话应该是不能通过编译(或者应该说检查阶段)也不会去执行的
作者: aurora    时间: 2005-4-22 10:36
Detailed Results Description





Line     Event           Result          Details             Time   

------------------------------------------------------------------------------
89    start run         run               userManage        00:00:00
95    call test         OK                userAdd           00:00:01
36    tl_step           ---               Step: userAdd, Status: Pass, Description: userAdd abcd successfully!00:00:05
36    tl_step           ---               Step: userAdd, Status: Pass, Description: userAdd xu_xj successfully!00:00:08
36    tl_step           ---               Step: userAdd, Status: Pass, Description: userAdd tian_t successfully!00:00:11
36    tl_step           ---               Step: userAdd, Status: Pass, Description: userAdd tang_hy successfully!00:00:15
36    tl_step           ---               Step: userAdd, Status: Pass, Description: userAdd ding_y successfully!00:00:18
36    tl_step           ---               Step: userAdd, Status: Pass, Description: userAdd zhang_wd successfully!00:00:21
36    tl_step           ---               Step: userAdd, Status: Pass, Description: userAdd song_zh successfully!00:00:25
40    return            OK                userManage        00:00:25
96    call test         OK                userDelete        00:00:26
39    return            OK                userManage        00:00:40
98    Error Message     ---               D:\winRunner\20050421\userManage\validity\userManage (109):        Syntax error
                00:00:41


userManage (109):这一行根本什么也没有,不过我看是清空了一遍,然后就不报错了,晕!
作者: QA_BAY    时间: 2005-4-22 11:09
你这种是语法错误,跟其它的应该没有关系.
就像你所说的,可能是多余的字符造成的!
作者: 西西    时间: 2005-4-22 11:09
呵呵,也有可能是你输入ASC值在31之前不可见字符了,问题是,你怎么输入的???
呵呵,开个玩笑
作者: shyfish    时间: 2005-4-22 11:41
可能是这样的:中文全角的空格
作者: 生如火花    时间: 2005-4-22 13:13
恩,要多分析
作者: aurora    时间: 2005-4-22 13:42
我的默认输入法是紫光,输入时总是先中文,可能真的是吧,不好意思了!
惭愧ing!
作者: aurora    时间: 2005-4-22 13:52
GUI_close_all();

GUI_load("win.gui");
GUI_open("win.gui");
        ...
        代码
        ...
GUI_close("win.gui");
GUI_unload("win.gui");


顺便请问一下,这样的流程是不是最符合标准?有这样做的必要和意义吗?
作者: 生如火花    时间: 2005-4-22 15:39
open和close没太大必要




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