51Testing软件测试论坛

标题: 请帮我看看这里怎么回事? [打印本页]

作者: xiaofang1004    时间: 2006-8-1 09:39
标题: 请帮我看看这里怎么回事?
一运行就提示这个错误,我不知是哪里错了。
作者: 生如火花    时间: 2006-8-1 10:34
能不能不要贴这么大的图,你们提交BUG都用这格式么....
作者: winterson    时间: 2006-8-1 12:54
if 判断好象有误,小括号少了一个,估计问题出在这里
作者: 风过无息    时间: 2006-8-1 13:31
if((ddt_val(table, "user") =="")||(ddt_val(table, "pwd" ==""))
应该是:
if((ddt_val(table, "user") =="")||(ddt_val(table, "pwd") ==""))
作者: 紫罗兰    时间: 2006-8-1 13:36
是恩,下次可以直接把代码贴上吧,图片打开好慢~~
那个if语句第二个等号前面少了个括号
下面的tl_step语句怎么看起来不象分号结尾呀?
作者: xiaofang1004    时间: 2006-8-1 13:53
多谢,可是我加上了那个括号,
可是还有提示错误,由26行变为27号了。一样的错误
作者: zhangjinyun99    时间: 2006-8-1 15:01
我试过了,代码如下,两种方法都可以.
if (rc!= E_OK && rc != E_FILE_OPEN)
        pause("Cannot open table.");
ddt_get_row_count(table,table_RowCount);
for(table_Row = 1; table_Row <= table_RowCount; table_Row ++)
{
        ddt_set_row(table,table_Row);
       
        # Login
                set_window ("Login", 2);
                edit_set ("Agent Name:", ddt_val(table,"Agent_Name"));
                set_window ("Login", 6);
            edit_set("Password:", ddt_val(table,"Password"));
            edit_get_text("Agent Name:",name);
        edit_get_text("Password:",pass);
                if((name=="")||(pass==""))
                {
                tl_step("name or pass is none",1,"you can't put in");
                }
               
               
}
ddt_close(table);
或者
if (rc!= E_OK && rc != E_FILE_OPEN)
        pause("Cannot open table.");
ddt_get_row_count(table,table_RowCount);
for(table_Row = 1; table_Row <= table_RowCount; table_Row ++)
{
        ddt_set_row(table,table_Row);
       
        # Login
                set_window ("Login", 2);
                edit_set ("Agent Name:", ddt_val(table,"Agent_Name"));
                set_window ("Login", 6);
            edit_set("Password:", ddt_val(table,"Password"));
            edit_get_text("Agent Name:",name);
        edit_get_text("Password:",pass);
                if((name=="")||(pass==""))
                tl_step("name or pass is none",1,"you can't put in");
                                               
}
ddt_close(table);
如果你加入括号的话,可以写一句else的语句,这样错误和没有错误的都会列出来了
if (rc!= E_OK && rc != E_FILE_OPEN)
        pause("Cannot open table.");
ddt_get_row_count(table,table_RowCount);
for(table_Row = 1; table_Row <= table_RowCount; table_Row ++)
{
        ddt_set_row(table,table_Row);
       
        # Login
                set_window ("Login", 2);
                edit_set ("Agent Name:", ddt_val(table,"Agent_Name"));
                set_window ("Login", 6);
            edit_set("Password:", ddt_val(table,"Password"));
            edit_get_text("Agent Name:",name);
        edit_get_text("Password:",pass);
                if((name=="")||(pass==""))
                {
                tl_step("name or pass is none",1,"you can't put in");
                }
                else
                {tl_step("name and pass is ok",0,"you can put in");}
               
}
ddt_close(table);
作者: xiaofang1004    时间: 2006-8-1 15:38
不好意思,我没有看明白?
能具体说一下吗?多谢
作者: zhangjinyun99    时间: 2006-8-1 15:51
哪里不明白?
我的意思是,你可以把那个括号删除,然后保存,在进行回放看看.
不过奇怪的是,我加上那个括号也没有出现你那个问题.
最后我只是提出了一个建议,就是你可以加上一句else的语句,这样在测试结果看就更加清楚了.
再多问一句:你用的是数据驱动那个向导做的吗?
作者: xiaofang1004    时间: 2006-8-1 16:17
那个参数化是用的数据驱动,
但那个IF语句是自己写的,我去掉了括号,还有有问题啊?
        # 登陆
                set_window ("登陆", 2);
                obj_type ("WindowsForms10.EDIT.app3_2",ddt_val(table,"user"));
                obj_mouse_click ("WindowsForms10.EDIT.app3_3", 25, 12, LEFT);
                obj_type ("WindowsForms10.EDIT.app3_3",ddt_val(table,"pwd"));

                if((ddt_val(table,"user")=="")||(ddt_val(table,"pwd")==""))
               
                tl_step("user or pwd is empty",1,"user or pwd should not be empty!");
               
                obj_mouse_click ("确定", 30, 16, LEFT);
       
}
ddt_close(table);
这样也会提示tl_step("user or pwd is empty",1,"user or pwd should not be empty!");
这句有语法错误啊?
我加了ELSE后,还是一样的错误啊?
作者: zhangjinyun99    时间: 2006-8-1 16:34
还有一个办法,就是用insert>Function>For object/windows这个,它会替换你可以命名name and password用if((name=="")||(password==""))来代替你那句if((.........))在试一下,如果还是不行,我也没有法了
作者: xiaofang1004    时间: 2006-8-1 16:55
好的,我试试,多谢了。
作者: kolecat    时间: 2006-8-1 18:26
if((ddt_val(table,"user")=="")||(ddt_val(table,"pwd")==""))

这句是楼主你拷的源码么?  那个括号好像是中文的, 换成英文的试试看
作者: xiaofang1004    时间: 2006-8-2 15:26
不是中英文的问题啊?我改了,还是不行。




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