51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2544|回复: 5
打印 上一主题 下一主题

[原创] 关于qtp 变量作用域的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-4-20 11:04:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
脚本如下
Dim str_Name
Dim str_Password
Set str_Name = Browser("Welcome: Mercury Tours").Page("系统").WebEdit("name")
Set str_Password = Browser("Welcome: Mercury Tours").Page("系统").WebEdit("password")
Call TestS()

TestS()定义在外部的vbs里
Function TestS()
        SystemUtil.Run "C:\Program Files\Internet Explorer\IEXPLORE.EXE","http://abc/e","C:\Documents and Settings\Administrator","open","3"
        str_Name.Set("admin")
        str_Password.Set("admin")
End Function

这时str_Name,str_Password认不出来

如果TestS()不写在外部的vbs里,而是直接写在脚本里,str_Name,str_Password能认出来,请问这是为什么?

如果一定要把TestS()写在外部的vbs里,可以通过传参数解决,但是当参数很多时就累赘了,有什么办法使在脚本里定义的全局变量能够被外部vbs识别
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2010-4-20 11:29:55 | 只看该作者
是可以认的啊,看你的代码是不是你调用外部vbs的方法不对啊
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2010-4-20 13:41:10 | 只看该作者

就是直接call这个方法

就是直接call这个方法啊,把变量作为参数传递就可以,例如Call TestS(strName,strPassword), 当然定义函数时也要加上参数,例如Function TestS(strName,strPassword)。作为全局变量就传不到外部的vbs
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2010-4-20 13:48:34 | 只看该作者
首先要声明一下这个vbs脚本:ExecuteFile “路径”或者在file-settings中添加Resources
然后才能调用
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2010-4-20 14:08:31 | 只看该作者
把变量定义放到外部vbs中
Dim str_Name
Dim str_Password
Function TestS()
        SystemUtil.Run "C:\Program Files\Internet Explorer\IEXPLORE.EXE","http://abc/e","C:\Documents and Settings\Administrator","open","3"
        str_Name.Set("admin")
        str_Password.Set("admin")
End Function
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2010-4-20 16:36:26 | 只看该作者
原帖由 xhxcs 于 2010-4-20 13:41 发表
就是直接call这个方法啊,把变量作为参数传递就可以,例如Call TestS(strName,strPassword), 当然定义函数时也要加上参数,例如Function TestS(strName,strPassword)。作为全局变量就传不到外部的vbs

就是这样吗
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-24 22:31 , Processed in 0.083436 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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