51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3507|回复: 10
打印 上一主题 下一主题

[Robot] 求助:if语句不执行

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2005-10-31 17:23:34 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
下面是我编辑的一段脚本,内容是在一个登录页面输入不正确的用户名、密码,弹出一个提示框,提示重新输入用户名、密码,点击这个提示框上的“确定”按钮,回到登录页面。我想先根据输入的用户名、密码判断输入是否正确,用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
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

11#
发表于 2005-11-25 14:19:55 | 只看该作者
result=sqafindobject("type = window;Caption = Microsoft Internet Explorer;class=#32770")

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

这是返回的是1003,对象找不到。
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2005-11-25 10:03:50 | 只看该作者
原帖由 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.

我怎么就看不出来 哪写的有问题啊?谢谢指教,感激不尽!!!
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2005-11-11 09:07:24 | 只看该作者
sqafindobject("type = window;Caption = Microsoft Internet Explorer;class=#32770") 的原因。
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2005-11-10 17:46:11 | 只看该作者
既然解决了,请楼主说说解决方法!好让大家也学学
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2005-11-8 13:33:32 | 只看该作者
问题解决了:)
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2005-10-31 18:00:38 | 只看该作者
我还是觉得问题出在第一个IF语句的地方,因为IF后面的语句根本就没有执行。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2005-10-31 17:53:50 | 只看该作者
问题是不管怎么写,IF根本就进不去呀,我设了断点,IF是不进去的。是不是有什么地方的设置有问题?
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2005-10-31 17:39:05 | 只看该作者
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就行了
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2005-10-31 17:37:50 | 只看该作者
谢谢海龙版主如此迅速的答复,马上调试
回复 支持 反对

使用道具 举报

该用户从未签到

2#
发表于 2005-10-31 17:29:44 | 只看该作者
在if前加入

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

然后你看一下,然后你根据result的值调试脚本。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-15 00:34 , Processed in 0.083686 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表