51Testing软件测试论坛

标题: 执行if多语句时,出现的问题!! [打印本页]

作者: 215962927    时间: 2014-3-20 15:29
标题: 执行if多语句时,出现的问题!!
本帖最后由 215962927 于 2014-3-20 15:34 编辑

If Browser("主站管理后台").Page("主站管理后台").Frame("main").Link("来自星星的你").GetROProperty("name") = "来自星星的你" Then         
        Reporter.ReportEvent micPass,"Check来自星星的你 = PASS","来自星星的你 匹配正确"       
        elseif  Browser("主站管理后台").Page("主站管理后台").Frame("main").Link("来自猩猩的你").GetROProperty("name") = "来自猩猩的你"  Then
        Reporter.ReportEvent micPass,"Check来自猩猩的你 = PASS","来自猩猩的你 匹配正确"
        elseif Browser("主站管理后台").Page("主站管理后台").Frame("main").Link("来自醒醒的你").GetROProperty("name") = "来自醒醒的你"  Then
        Reporter.ReportEvent micPass,"Check来自醒醒的你 = PASS","来自醒醒的你 匹配正确"       
        elseif Browser("主站管理后台").Page("主站管理后台").Frame("main").Link("来自行行的你").GetROProperty("name") = "来自行行的你"  Then
        Reporter.ReportEvent micPass,"Check来自行行的你 = PASS","来自行行的你 匹配正确"
else
        Reporter.ReportEvent micFail,"Check 楼盘名称 = FAIL","楼盘名称 匹配不正确"
End If


我的操作流程是这样的,在系统中,新增一条数据,之后再删除这条数据,第一次执行脚本的时候,上面的脚本是成功的;当执行第二次回放时,脚本执行到 上面的 第一个 if 语句时,就不往下执行了。第一个if 语句的条件 在系统中已经不存在了,那应该是要往第二个if 语句走的呀!请问这个是这么回事呢????
作者: 赵佳乐SMILE    时间: 2014-3-21 09:38
if elseif  就这个逻辑
http://book.51cto.com/art/200908/142064.htm

当第一个条件满足时 就不走第二个了
  1. text1="来自星星的你"text2="来自猩猩的你"text3="来自猩猩的你"text4="来自猩猩的你"
  2. If text1= "来自星星的你" Then                  print "来自星星的你 匹配正确"     else         print "楼盘名称 匹配不正确"End If
  3. if  text2= "来自猩猩的你"  Then        print "来自猩猩的你 匹配正确"else         print "楼盘名称 匹配不正确"End If
  4. if text3 = "来自醒醒的你"  Then        print "来自醒醒的你 匹配正确"       else         print "楼盘名称 匹配不正确"End If if tex4= "来自行行的你"  Then        print "来自行行的你 匹配正确"else         print "楼盘名称 匹配不正确"End If
复制代码

作者: 215962927    时间: 2014-3-21 09:54
回复 2# 赵佳乐SMILE


    谢谢这位兄弟的回复!!

但是必须要把if elseif 分开来写吗? 用if elseif 不能执行???请赐教!!
作者: 215962927    时间: 2014-3-21 10:10
现在主要的问题就是,当第一个if的条件不满足的时候,为什么不往下执行了???直接卡在第一个if 里!
作者: 赵佳乐SMILE    时间: 2014-3-21 15:10
回复 3# 215962927


    看一下 连接里面的 图片 就懂 了
作者: GTP    时间: 2014-3-22 21:35
这不是你If语句的问题,这跟QTP的执行机制有关,第二次回放程序卡在If语句是因为对象识别的问题,应该是第二次回放的时候,Browser("主站管理后台").Page("主站管理后台").Frame("main").Link("来自星星的你")这个对象在页面上不存在了,而QTP卡在这里的原因是因为QTP在尝试寻找该对象,最终报错是因为QTP设置的对象识别超时,最终导致的。
作者: 215962927    时间: 2014-3-22 21:48
回复 6# GTP


    那该如何验证呢?请教请教~~~




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