51Testing软件测试论坛

标题: 求助:if语句不执行 [打印本页]

作者: taoyi_cheng    时间: 2005-10-31 17:23
标题: 求助:if语句不执行
下面是我编辑的一段脚本,内容是在一个登录页面输入不正确的用户名、密码,弹出一个提示框,提示重新输入用户名、密码,点击这个提示框上的“确定”按钮,回到登录页面。我想先根据输入的用户名、密码判断输入是否正确,用sqafindobject判断提示框是否弹出,如果弹出,经确认后点击上面的“确认”按钮。现在的情况是,脚本可以执行,但是IF语句根本就没有执行,请大家帮我看一下,问题出在哪里了
Sub Main
    Dim Result As Integer

    startbrowser "http://www.asdf.com.cn/scweb/logon.jsp", "WindowTag=WEBBrowser"'打开浏览器
    window WMaximize,"currentwindow",""'把当前窗口最大化
    EditBox Click, "Name=username", "Coords=1,1"
    InputKeys "asdf{TAB}"'输入用户名
    InputEncKeys "CgAAABUAAAAVDaAIw/ZzQDyf"'输入密码
    sqaconsolewrite"asdfasdf1"
   
    HTMLImage Click, "Index=26", "Coords=1,1"'点击登录按钮
    sqaconsolewrite "asdfasdf2"
    if sqafindobject("type = window;Caption = Microsoft Internet Explorer;class=#32770") = sqasuccess then '判断是否弹出提示框
       sqaconsolewrite "asdfasdf3"
       window setcontext,"Caption = Microsoft Internet Explorer;class=#32770",""'设置焦点在弹出页面上
       sqaconsolewrite "asdfasdf4"
     if sqafindobject("type = label;text = 用户名或密码输入错误,请重新输入!") = sqasuccess and sqafindobject("type = pushbutton;text = 确定") = sqasuccess then
        'result = sqapass  
       sqaconsolewrite "asdfasdf5"
        'sqaconsolewrite str(sqasuccess )
      PushButton Click, "Text=确定"
     end if
    end if
  
End Sub
作者: 海龙    时间: 2005-10-31 17:29
在if前加入

result=sqafindobject("type = window;Caption = Microsoft Internet Explorer;class=#32770")

然后你看一下,然后你根据result的值调试脚本。
作者: taoyi_cheng    时间: 2005-10-31 17:37
谢谢海龙版主如此迅速的答复,马上调试
作者: qingchunjun    时间: 2005-10-31 17:39
if sqafindobject("type = label;text = 用户名或密码输入错误,请重新输入!") = sqasuccess and sqafindobject("type = pushbutton;text = 确定") = sqasuccess肯定是有错的,按照你现在的写法sqafindobject是不能正确定位你的label和pushbutton的。其实你可以将type = label换成type=window,并用caption来定位。只要确定有弹出窗口后,还需要用sqafindobject("type = pushbutton;text = 确定") 来判断是否有确定按钮吗?直接click就行了
作者: taoyi_cheng    时间: 2005-10-31 17:53
问题是不管怎么写,IF根本就进不去呀,我设了断点,IF是不进去的。是不是有什么地方的设置有问题?
作者: taoyi_cheng    时间: 2005-10-31 18:00
我还是觉得问题出在第一个IF语句的地方,因为IF后面的语句根本就没有执行。
作者: taoyi_cheng    时间: 2005-11-8 13:33
问题解决了:)
作者: qingchunjun    时间: 2005-11-10 17:46
既然解决了,请楼主说说解决方法!好让大家也学学
作者: taoyi_cheng    时间: 2005-11-11 09:07
sqafindobject("type = window;Caption = Microsoft Internet Explorer;class=#32770") 的原因。
作者: tongfenglcz    时间: 2005-11-25 10:03
原帖由 taoyi_cheng 于 2005-11-11 09:07 发表
sqafindobject("type = window;Caption = Microsoft Internet Explorer;class=#32770") 的原因。




什么原因?我现在的问题也是不执行if语句
用result=sqafindobject("type = window;Caption = Microsoft Internet Explorer;class=#32770") 返回的result居然是1002,即Invalid syntax in Recognition Method.

我怎么就看不出来 哪写的有问题啊?谢谢指教,感激不尽!!!
作者: 海龙    时间: 2005-11-25 14:19
result=sqafindobject("type = window;Caption = Microsoft Internet Explorer;class=#32770")

原因是有空格,请改为
result=sqafindobject("type=window;Caption=Microsoft Internet Explorer;class=#32770")

这是返回的是1003,对象找不到。




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