51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

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

[原创] [求助] QTP自带VB编的订票程序的测试问题?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-4-23 16:44:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我是新手,刚用QTP,很多地方不清楚,希望大家能多帮助下,十分感谢啊.
我现在想设置IF语句,就是当输入的NAME是123456的时候执行输入密码,不然就关闭程序,但是不知道怎么设置IF,试过多次不行,希望大家能帮忙解决下,谢谢
Dialog("Login").WinEdit("Agent Name:").Set "123456"
Dialog("Login").WinEdit("Agent Name:").Type  micTab
If  Then
End If   
         就是在这里设置IF语句
Dialog("Login").WinButton("OK").Click
Window("Flight Reservation").ActiveX("MaskEdBox").Type "080912"
Window("Flight Reservation").WinComboBox("Fly From:").Select "Paris"
Window("Flight Reservation").WinComboBox("Fly To:").Select "Frankfurt"
Window("Flight Reservation").WinButton("FLIGHT").Click
Window("Flight Reservation").Dialog("Flights Table").WinList("From").Select "10528   PAR   12:48 PM   FRA   04:18 PM   AF     $148.47"
Window("Flight Reservation").Dialog("Flights Table").WinButton("OK").Click
Window("Flight Reservation").WinEdit("Name:").Set "SLIM"
Window("Flight Reservation").WinRadioButton("Business").Set
Window("Flight Reservation").WinEdit("Tickets:").SetSelection 0,1
Window("Flight Reservation").WinEdit("Tickets:").Set "3"
Window("Flight Reservation").WinButton("Insert Order").Click
Window("Flight Reservation").Close
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2008-4-23 16:57:53 | 只看该作者
Dialog("Login").WinEdit("Agent Name:").Set "123456"  

这句话后,把name给取出来,放到一个变量里,
if a="123456" then
.....下面的脚本...
else
ExitRun
end if
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2008-4-23 17:05:46 | 只看该作者
我这样定义变量但是不成功,估计是没定义好,不知道是哪出错了,另外非常感谢帮助!!!
Dim i= Dialog("Login").WinEdit("Agent Name:")
If  i="123456" Then
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2019-8-30 20:14
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    4#
    发表于 2008-4-23 17:16:39 | 只看该作者
    取对象值需要使用GetRoProperty方法。
    如果你不知道这个方法如何写,你可以使用F7,然后选择对应的对象,和GetRoProperty方法,属性选择text,别选错哦。然后自动生成一句脚本。
    然后你可以根据需要修改这句话。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2008-4-23 17:25:09 | 只看该作者
    LZ请看下面的脚本:
    我把AGENT NAME参数化在DATATABLE里了,这样你可以用几个用户名进行测试
    不是123456的话,就会关掉了。
    Dialog("Login").WinEdit("Agent Name:").Set DataTable("agentname", dtGlobalSheet)
    Dim a
    a=dialog("Login").WinEdit("Agent Name:").GetROProperty("text")
    If a="123456" Then
            Dialog("Login").WinEdit("Password:").SetSecure "480ef6ddaae2c8c42bc5d0eec83c73de5317f135"
            Dialog("Login").WinEdit("Password:").Type  micReturn
            Dialog("Login").WinButton("OK").Click
    Else
            Dialog("Login").WinButton("Cancel").Click
    End If
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
     楼主| 发表于 2008-4-23 17:35:05 | 只看该作者
    我按照这个方法试过了,得到了语句Dialog("Login").WinEdit("Agent Name:").GetROProperty Property
    我自己设置的语句是Dim a=Dialog("Login").WinEdit("Agent Name:").GetROProperty Property
    但是就是最后那个值怎么设置呢? 我试过了GetROProperty("value") /GetROProperty("string")但是都不成功,非常感谢楼上两位的帮助
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2008-4-23 17:49:24 | 只看该作者
    不知道设哪个属性的时候,就SPY那个对象,所有的属性都会出来的,然后挑你要的那个属性就行了。
    我也是新手,大家互相帮助才能进步。
    这里好多高手,帮了我不少忙的
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
     楼主| 发表于 2008-4-23 18:06:15 | 只看该作者
    问题解决了,我知道哪出错了,
    在定义变量时,我直接使用了语句
    Dim a=Dialog("Login").WinEdit("Agent Name:").GetROProperty("text")
    这样运行就通不过,要先定义,再赋值才行
    Dim a
    a=Dialog("Login").WinEdit("Agent Name:").GetROProperty("text")
    才能通过,感谢各位的帮助,以后还请多多指教,非常感谢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2008-4-23 20:42:49 | 只看该作者
    首先恭喜楼主解决了问题,并且能向大家反馈结果,非常可贵。
    但是对楼主最后的结论却有疑问。VBS中的变量即使不定义也可以直接调用。例如我可以直接写a=Dialog("Login").WinEdit("Agent Name:").GetROProperty("text"),肯定也没问题的。在VB中需要显示的定义变量,但是VBS是弱类型的语言,变量可以直接使用。
    所以对于错误的具体原因,不在于是否先定义,而是dim a = Dialog("Login").WinEdit("Agent Name:").GetROProperty("text")这种格式本身就不符合VBS的语法规则,所以脚本运行时会报错。

    [ 本帖最后由 dreamever 于 2008-4-23 20:44 编辑 ]
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    10#
    发表于 2008-4-25 00:31:32 | 只看该作者
    严格的说, Dim a  是声明语句,而下面的语句才是定义:
    a=Dialog("Login").WinEdit("Agent Name:").GetROProperty("text")
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2008-4-27 09:01:18 | 只看该作者

    路过

    才开始弄。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    12#
    发表于 2008-4-28 23:21:13 | 只看该作者
    建议大家多多看一些开发方面的书籍,有时间自己去写一些代码。毕竟,脚本开发需要有一定的开发功底的。其实楼主问的是一个开发方面的问题

    [ 本帖最后由 walker1020 于 2008-4-29 21:54 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2008-4-28 23:25:24 | 只看该作者
    这么复杂。。。。。。。
    多谢~提供经验~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2008-4-29 11:09:58 | 只看该作者
    原来是一个基本的赋值问题。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-14 20:47 , Processed in 0.085798 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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