215962927 发表于 2014-3-20 15:29:10

执行if多语句时,出现的问题!!

本帖最后由 215962927 于 2014-3-20 15:34 编辑

If Browser("主站管理后台").Page("主站管理后台").Frame("main").Link("来自星星的你").GetROProperty("name") = "来自星星的你" Then         
        Reporter.ReportEvent micPass,"Check来自星星的你 = PASS","来自星星的你 匹配正确"       
        elseifBrowser("主站管理后台").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:38

if elseif就这个逻辑
http://book.51cto.com/art/200908/142064.htm

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

215962927 发表于 2014-3-21 09:54:28

回复 2# 赵佳乐SMILE


    谢谢这位兄弟的回复!!

但是必须要把if elseif 分开来写吗? 用if elseif 不能执行???请赐教!!

215962927 发表于 2014-3-21 10:10:02

现在主要的问题就是,当第一个if的条件不满足的时候,为什么不往下执行了???直接卡在第一个if 里!

赵佳乐SMILE 发表于 2014-3-21 15:10:05

回复 3# 215962927


    看一下 连接里面的 图片 就懂 了

GTP 发表于 2014-3-22 21:35:36

这不是你If语句的问题,这跟QTP的执行机制有关,第二次回放程序卡在If语句是因为对象识别的问题,应该是第二次回放的时候,Browser("主站管理后台").Page("主站管理后台").Frame("main").Link("来自星星的你")这个对象在页面上不存在了,而QTP卡在这里的原因是因为QTP在尝试寻找该对象,最终报错是因为QTP设置的对象识别超时,最终导致的。

215962927 发表于 2014-3-22 21:48:19

回复 6# GTP


    那该如何验证呢?请教请教~~~
页: [1]
查看完整版本: 执行if多语句时,出现的问题!!