51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2198|回复: 7
打印 上一主题 下一主题

[原创] 急!一个查询功能,if语句两边值相同,为什么不执行then反而执行else?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2013-2-22 14:14:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
急死了,求大神们帮小弟看看,感激不尽!!!!!!!!                 
以下是我写的简单脚本,按酒店名称查询,然后比较查询结果中展示的酒店是否与输入的酒店相同         
Dim i
Browser("XXXXXX").Page("XXXXXX").Frame("menuFrame").Link("酒店库存情况查询").Click
'按酒店名称查询
For i=1 to DataTable.LocalSheet.GetRowCount
hotelname=datatable.LocalSheet.GetParameter("酒店名称").ValueByRow(i)
Browser("XXXXXX").Page("XXXXXX").Frame("Frame").WebEdit("按名称查询").Set  hotelname
Reporter.ReportNote("当前输入的酒店名称是:"&hotelname)
Browser("XXXXXX").Page("XXXXXX").Frame("Frame").WebButton("点击查询").Click
checkname=Browser("XXXXXX").Page("XXXXXX").Frame("Frame").WebElement("列表中的酒店名称").GetROProperty("innertext")
Reporter.ReportNote("列表中的酒店名称是:"&checkname)
if (hotelname=checkname) Then
              Reporter.ReportNote "查询结果:pass"
         else
          Reporter.ReportNote "查询结果:failed"
End If
Browser("XXXXXX").Page("XXXXXX").Frame("Frame").WebEdit("按名称查询").Set ""
Browser("XXXXXX").Page("XXXXXX").Frame("Frame").WebButton("点击查询").Click
Next

运行完后的报告中,Notes是这样的:

当前输入的酒店名称是:深圳明天西部酒店
列表中的酒店名称是:深圳明天西部酒店
查询结果:failed
当前输入的酒店名称是:岷山金圣大酒店
列表中的酒店名称是:岷山金圣大酒店
查询结果:failed

为什么if语句里两边值相同,但是执行“查询结果:failed”?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2013-2-22 14:24:41 | 只看该作者
在线等! 给小弟一点意见,在此谢过了
回复 支持 反对

使用道具 举报

  • TA的每日心情

    2017-4-28 14:26
  • 签到天数: 5 天

    连续签到: 1 天

    [LV.2]测试排长

    3#
    发表于 2013-2-22 15:06:31 | 只看该作者
    判断语句是不是要双等号的...
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2017-4-28 14:26
  • 签到天数: 5 天

    连续签到: 1 天

    [LV.2]测试排长

    4#
    发表于 2013-2-22 15:12:13 | 只看该作者
    搞混了,VB中是单等号....
    把hotelname和checkname也加到dim里,定义下试试呢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
     楼主| 发表于 2013-2-22 15:18:26 | 只看该作者
    回复 4# yubing4828

    单等号的,把hotelname和checkname加到dim里也不行,还是执行else
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
     楼主| 发表于 2013-2-22 15:33:36 | 只看该作者
    解决了!看来是有空格,我改成if (Trim(hotelname)=Trim(checkname)) Then.....
    就可以了。
    不过也谢谢yubing4828的热情回复
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2017-4-28 14:26
  • 签到天数: 5 天

    连续签到: 1 天

    [LV.2]测试排长

    7#
    发表于 2013-2-22 16:08:38 | 只看该作者
    呵呵,没帮上什么忙...
    一时没想起trim函数..
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2013-2-23 13:07:48 | 只看该作者
    1个就是 LZ自己发现的 空格问题
    还有就是 数据类型问题 VBS是弱类型的 如果 你预期 比较的是INT型的 就要用cint 或 clng 对两边数据进行类型转换 否则也可能出现你所描述的问题
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-24 10:05 , Processed in 0.078314 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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