51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4233|回复: 13
打印 上一主题 下一主题

[原创] DO ...LOOP语句中使用多重if语句的问题

[复制链接]
  • TA的每日心情
    郁闷
    2015-5-12 08:55
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2007-2-12 10:30:26 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
    在写qtp脚本的时候,在do。。loop循环中对取数进行判断,我使用了if语句,刚开始写一个if语句是没有问题的,然而我加了多重if语句(if ...else if...esleif...)而这时再运行时,就总是报loop缺少do语句,请问这样我应该怎么写呢,需要用什么符号将if段括上吗
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    该用户从未签到

    14#
    发表于 2007-2-14 09:59:20 | 只看该作者
    不错~!以前吃过这样的亏,呵呵~!sdlkfj5
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2007-2-14 09:35:06 | 只看该作者
    是的,我也遇到过这种问题的,elseif要连着写的,sdlkfj5
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2007-2-13 11:26:26 | 只看该作者
    else if变成elseif就OK
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2007-2-13 10:54:52 | 只看该作者
    原帖由 skyzhu 于 2007-2-13 10:28 发表
    你试下就知道了,else if 和 elseif ,连着和分开不一样的
    lz就是因为分开了所以才报错的
    以前特别在vbsedit上研究过这东西


    是要连着写的啊,这是语法.没这种else if 分开的写法,elseif也没你所说的要多end if结束.LZ的写法的确有问题,我没看仔细,不好意思.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2007-2-13 10:28:29 | 只看该作者

    to: xiaonan

    你试下就知道了,else if 和 elseif ,连着和分开不一样的
    lz就是因为分开了所以才报错的
    以前特别在vbsedit上研究过这东西
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2007-2-12 16:40:41 | 只看该作者
    原帖由 skyzhu 于 2007-2-12 14:11 发表
    再加2个end if
    else if 也要end

    或者把 else if 连起来ElseIf


    呵呵,这位同学对if的多重嵌套理解有误哦.建议去看一下这方面的资料.if的多重嵌套,只要最后结束掉就好.




    原帖由 wawa133 于 2007-2-12 15:21 发表
    不知道是QTP的问题还是什么的.有时候你就算都对了,还是会报一些类似没有endif之类的错误,之前也是遇到过,后来就不用elseif了,干脆就一个一个地写.


    恩,这也是我要说的.在整理脚本的时候,请注意格式,比如:你上面的程序排版成:
    do while ....
        ............
        if ..... then
           ..........
        elseif ....... then
           ..........
        end if
    loop

    这样一来增加了脚本的可度性,也不会有遗漏end if等情况,一目了然.  QTP可能在这方面没vb等工具强大,所以你不对齐的话,就有可以出现找不到结束语句,如有do没loop啊等等.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2007-2-12 15:21:02 | 只看该作者
    不知道是QTP的问题还是什么的.有时候你就算都对了,还是会报一些类似没有endif之类的错误,之前也是遇到过,后来就不用elseif了,干脆就一个一个地写.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2007-2-12 14:11:36 | 只看该作者
    再加2个end if
    else if 也要end

    或者把 else if 连起来ElseIf

    [ 本帖最后由 skyzhu 于 2007-2-12 14:14 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2007-2-12 11:36:59 | 只看该作者
    恩,我看到了.不是前面没看到脚本嘛,只是猜测而已.你这里过多的else if,是不是可以改成select case更加清楚点.  然后把格式给排的好一点,对称一下,现在脚本的可读性很差.目前这样看,没看出什么问题.

    [ 本帖最后由 xiaonan 于 2007-2-12 11:42 编辑 ]
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2015-5-12 08:55
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    5#
     楼主| 发表于 2007-2-12 11:12:41 | 只看该作者

    en?LOOP前不是有一个end if吗?还用加吗

    en?LOOP前不是有一个end if吗?还用加吗
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2007-2-12 11:05:57 | 只看该作者
    少endif.你加一个试试.我没有运行.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2015-5-12 08:55
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    3#
     楼主| 发表于 2007-2-12 11:01:02 | 只看该作者

    这段代码

    Do while i<RowCount
        i=i+1
            datatable.GetSheet("51sheet")
            datatable.SetCurrentRow(i)
            temp=Datatable.GetSheet("51sheet").GetParameter("jine").value

    If   temp>0 Then
       
    Browser("**系统").Page("**系统").WebElement("userID").FireEvent "onmouseover"
    Browser("**系统").Page("**系统").Image("Image1").Click 29,9
    Browser("**系统").Page("**系统_2").Frame("topFrame").WebElement("unselect_left").FireEvent "onmouseover"
    Browser("**系统").Page("**系统_2").Frame("topFrame").WebElement("unselect_left").FireEvent "onmouseover"
    Browser("**系统").Page("**系统_2").Frame("topFrame").WebElement("unselect_left_2").FireEvent "onmouseover"
    Browser("**系统").Page("**系统_2").Frame("topFrame").WebElement("unselect_left_2").Click
    Browser("**系统").Page("**系统_2").Frame("Frame").WebElement("资金划拨").FireEvent "onmouseover"
    Browser("**系统").Page("**系统_2").Frame("Frame").WebElement("信贷管理").FireEvent "onmouseover"
    Browser("**系统").Page("**系统_2").Frame("Frame").WebElement("信贷管理").Click
    Browser("**系统").Page("**系统_2").Frame("navigateDetailFrame").Link("内部借款").Click
    Browser("**系统").Page("**系统_2").Frame("navigateDetailFrame").Link("内部借款申请").Click
    Browser("**系统").Page("**系统_2").Frame("leftFrame").WebTable("WebTable").FireEvent "onmouseover"
    Browser("**系统").Page("**系统_2").Frame("mainFrame").WebElement("新增").FireEvent "onmouseover"
    Browser("**系统").Page("**系统_2").Frame("mainFrame").Image("新增").FireEvent "onmouseover"
    Browser("**系统").Page("**系统_2").Frame("mainFrame").Image("新增").Click
    Browser("**系统").Page("**系统_2").Frame("mainFrame_2").Image("lookup").Click
    Browser("**系统").Window("-- 网页对话框").Page("单位编码").Frame("lookupMainFrame").WebElement("WebTable").FireEvent "onmouseover"
    Browser("**系统").Window("-- 网页对话框").Page("单位编码").Frame("lookupMainFrame").WebElement("WebTable").FireEvent "onmousedown"
    Browser("**系统").Window("-- 网页对话框").Page("单位编码").Frame("lookupMainFrame").WebElement("WebTable").FireEvent "ondblclick"
    Browser("**系统").Page("**系统_2").Frame("mainFrame_2").Image("lookup_2").Click
    Browser("**系统").Window("-- 网页对话框").Page("单位编码").Frame("lookupMainFrame").WebElement("WebTable_2").FireEvent "onmouseover"
    Browser("**系统").Window("-- 网页对话框").Page("单位编码").Frame("lookupMainFrame").WebElement("WebTable_2").FireEvent "onmousedown"
    Browser("**系统").Window("-- 网页对话框").Page("单位编码").Frame("lookupMainFrame").WebElement("WebTable_2").FireEvent "ondblclick"
    Browser("**系统").Page("**系统_2").Frame("mainFrame_2").Image("lookup_3").Click
    Browser("**系统").Window("-- 网页对话框").Page("单位编码").Frame("lookupMainFrame").WebElement("WebTable_3").FireEvent "onmouseover"
    Browser("**系统").Window("-- 网页对话框").Page("单位编码").Frame("lookupMainFrame").WebElement("WebTable_3").FireEvent "onmousedown"
    Browser("**系统").Window("-- 网页对话框").Page("单位编码").Frame("lookupMainFrame").WebElement("WebTable_3").FireEvent "ondblclick"
    Browser("**系统").Page("**系统_2").Frame("mainFrame_2").Image("lookup_4").Click
    Browser("**系统").Window("-- 网页对话框").Page("单位编码").Frame("lookupMainFrame").WebElement("WebTable_4").FireEvent "onmouseover"
    Browser("**系统").Window("-- 网页对话框").Page("单位编码").Frame("lookupMainFrame").WebElement("WebTable_4").FireEvent "onmousedown"
    Browser("**系统").Window("-- 网页对话框").Page("单位编码").Frame("lookupMainFrame").WebElement("WebTable_4").FireEvent "ondblclick"
    Browser("**系统").Page("**系统_2").Frame("mainFrame_2").WebList("loan_mode").Select "质押贷款"
    Browser("**系统").Page("**系统_2").Frame("mainFrame_2").WebList("rate_id").Select "短期借款半年"
    Browser("**系统").Page("**系统_2").Frame("mainFrame_2").Image("lookup_5").Click
    Browser("**系统").Window("-- 网页对话框").Page("单位编码").Frame("lookupMainFrame").WebElement("WebTable_5").FireEvent "onmouseover"
    Browser("**系统").Window("-- 网页对话框").Page("单位编码").Frame("lookupMainFrame").WebElement("WebTable_6").FireEvent "onmouseover"
    Browser("**系统").Window("-- 网页对话框").Page("单位编码").Frame("lookupMainFrame").WebElement("WebTable_7").FireEvent "onmouseover"
    Browser("**系统").Window("-- 网页对话框").Page("单位编码").Frame("lookupMainFrame").WebElement("WebTable_7").FireEvent "onmousedown"
    Browser("**系统").Window("-- 网页对话框").Page("单位编码").Frame("lookupMainFrame").WebElement("WebTable_7").FireEvent "ondblclick"
    Browser("**系统").Page("**系统_2").Frame("mainFrame_2").WebElement("保存").FireEvent "onmouseover"
    Browser("**系统").Page("**系统_2").Frame("mainFrame_2").WebEdit("money_pl_amount").Set temp
    Browser("**系统").Page("**系统_2").Frame("mainFrame_2").Image("保存").FireEvent "onmouseover"
    Browser("**系统").Page("**系统_2").Frame("mainFrame_2").Image("保存").Click
    Browser("**系统").Page("**系统_2").Frame("mainFrame_3").WebElement("新增").FireEvent "onmouseover"
    Browser("**系统").Page("**系统_2").Frame("mainFrame_3").WebElement("新增_2").FireEvent "onmouseover"
    Browser("**系统").Page("**系统_2").Frame("Frame").WebElement("查询报表").FireEvent "onmouseover"
    Browser("**系统").Page("**系统_2").Frame("mainFrame_3").WebElement("chk").FireEvent "onmouseover"
    Browser("**系统").Page("**系统_2").Frame("mainFrame_3").WebElement("新增_2").FireEvent "onmouseover"
    Browser("**系统").Page("**系统_2").Frame("topFrame").Image("individuation_icon").Click
    Browser("**系统").Dialog("Microsoft Internet Explorer").WinButton("确定").Click
    Browser("**系统").Page("**系统_3").WebElement("userID").FireEvent "onmouseover"
    Browser("**系统").Page("**系统_3").WebElement("userID").FireEvent "onmouseover"
    else if  temp<0 then
    Browser("**系统").Dialog("Microsoft Internet Explorer").Static("您输入的值小于允许输入的最小值!").Output CheckPoint("您输入的值小于允许输入的最小值!")
    Browser("**系统").Dialog("Microsoft Internet Explorer").WinButton("确定").Click
    Browser("**系统").Page("**系统_2").Frame("mainFrame_2").WebEdit("money_pl_amount").Set "10000"
    'Browser("**系统").Page("**系统_2").Frame("mainFrame_2").Image("保存").FireEvent "onmouseover"
    'Browser("**系统").Page("**系统_2").Frame("mainFrame_2").Image("保存").Click
    Browser("**系统").Page("**系统_2").Frame("mainFrame_3").WebElement("新增").FireEvent "onmouseover"
    Browser("**系统").Page("**系统_2").Frame("topFrame").WebElement("注销").Click
    Browser("**系统").Dialog("Microsoft Internet Explorer").WinButton("确定").Click
    Browser("**系统").Page("**系统_3").Sync
    else if  temp=0 then

    Browser("**系统").Dialog("Microsoft Internet Explorer").Static("申请金额不能为0,请重新输入!").Output CheckPoint("申请金额不能为0,请重新输入!")
    Browser("**系统").Dialog("Microsoft Internet Explorer").WinButton("确定").Click
    Browser("**系统").Page("**系统_2").Frame("mainFrame_2").WebEdit("money_pl_amount").Set "10000"
    'Browser("**系统").Page("**系统_2").Frame("mainFrame_2").Image("保存").FireEvent "onmouseover"
    'Browser("**系统").Page("**系统_2").Frame("mainFrame_2").Image("保存").Click
    Browser("**系统").Page("**系统_2").Frame("mainFrame_3").WebElement("新增").FireEvent "onmouseover"
    Browser("**系统").Page("**系统_2").Frame("topFrame").WebElement("注销").Click
    Browser("**系统").Dialog("Microsoft Internet Explorer").WinButton("确定").Click
    Browser("**系统").Page("**系统_3").Sync     
    End If

    Loop
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2#
    发表于 2007-2-12 10:42:26 | 只看该作者
    你是不是if语句的逻辑有问题啊,或者没有end if结束掉.把代码放上来,看看.
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-27 02:44 , Processed in 0.073732 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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