51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

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

[原创] 关于QTP的几个问题

[复制链接]
  • TA的每日心情
    奋斗
    2015-7-10 11:30
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2007-8-13 21:18:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    最近在看QTP,小弟遇到了2个小问题,还请各位高手不吝指教
    1) QTP函数的默认传参方式是什么?是传值byVal,还是传引用byRef?
    2) QTP对VISTA的支持怎么样?为何我在VISTA下对自带的FLIGHT程序进行录制时,登录窗口中的PASSWORD EDITBOX总是录不下来。
         (其他对象似乎没什么问题,网页中的密码输入框也没有问题)
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    该用户从未签到

    2#
    发表于 2007-8-13 21:34:39 | 只看该作者
    答:
    1) QTP的默认参数传递是ByRef
    2) QTP9.2是支持Vista的,以前的版本应该不能很好的支持
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
    发表于 2007-8-13 22:03:16 | 只看该作者
    楼上的精练
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2007-8-13 22:04:02 | 只看该作者
    能否详细的讲一下byVal和byRef的区别?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2007-8-13 22:07:10 | 只看该作者
    不说原理,区别就是变量如果以ByVal传递给过程,过程里有代码对这个变量做了更改,在过程结束返回后这个变量还是调用过程前的值,不会变化,变量如果以ByRef传递给过程,过程里有代码对这个变量做了更改,在过程结束返回后这个变量的值就是过程里改成的那个值
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2007-8-13 22:09:17 | 只看该作者
    转贴
    Byval与Byref的区别
    实例:

    sub Add1(ByVal no as int32)
        no=no+100
    end sub

    sub Add2(ByRef no as int32)
        no=no+100
    end sub

    private sub button1_click(sender as object,e as eventargs)handles button1.click
        dim a as int32
        a=100
        Add1(a)
        msgbox ("a的值为:" & a)     '显示:a的值为100

        Add2(a)
        msgbox ("a的值为:" & a)     '显示:a的值为200,因为Add2中的参数no为ByRef,即
                                     '按地址传递,因此在Add2中对no进行修改后,将会导致
                                     '源参数a的值也被修改。
    End Sub

    ByVal是传递值 源数据不会被修改
    你可以把这个值当作自己的局部变量来使用

    ByRef是传递地址 , 源数据可能被修改
    你对这个变量的操作将对你传入的那个变量产生影响,就像指针的感觉
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2007-8-13 22:10:54 | 只看该作者
    'ByVal是值传递,ByRef是引用传递,效果类似于C/C++中的参数传递
    '你把Add过程里的ByVal改成ByRef,再运行看看效果就知道了:)
    Option Explicit
    Dim a,b
    a = 3
    b = 4
    Add a,b
    MsgBox a

    Sub Add(ByVal x,ByVal y)
            x = x + y
    End Sub
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-7-10 11:30
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    8#
     楼主| 发表于 2007-8-13 22:29:21 | 只看该作者
    原帖由 hsjzfling 于 2007-8-13 21:34 发表
    答:
    1) QTP的默认参数传递是ByRef
    2) QTP9.2是支持Vista的,以前的版本应该不能很好的支持


    言简意赅,谢谢了
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-26 03:33 , Processed in 0.073094 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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