51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3555|回复: 12
打印 上一主题 下一主题

[原创] 弱问一个executefile的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-4-26 14:35:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
主文件很简单,就是想测试下调用另一个vbs的情况:
Option Explicit

MsgBox "hehe"
'SystemUtil.Run "iexplore.exe"
ExecuteFile("D:\Project\Mylib\test.vbs")

'JustTest()

test.vbs文件处在上面所述的正确位置:
Public Function JustTest()
        Dim strMsg
        strMsg="in the test.vbs"
   MsgBox strMsg
End Function

可是结果总是通不过。有谁帮我看下吧,总是在ExecuteFile的时候option explicit 报错,而且把它注释掉也报错。
多谢。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2006-4-26 18:05:16 | 只看该作者
test.vbs里只不过是个Function,并不是一个可执行文件~~
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2006-4-26 18:51:15 | 只看该作者
啊?是这个原因吗?
我之前读的很多代码调用的都只是一个function。我觉得这个类似于Java中的import和C中的include
不知是不是这样理解。

而且help中也说了:
ExecuteFile Statement
Description
Executes the VBScript statements in the specified file. Once the file runs, the the definitions (functions, subroutines, classes, etc.) in the file are available from the global scope of the action's script.
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2006-4-26 18:53:30 | 只看该作者
而且我之前读的项目代码中,在所调用的executefile中定义了一些function,并没有执行一些operation
所以我觉得不应该是这个原因。

如果是这个原因,那test.vbs应该怎么改成可执行的呢
举一个简单的例子吧

多谢:)
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2006-4-27 09:44:05 | 只看该作者
我执行了一下,是可以通过的.
先跳出"hehe"
后跳出"in the test.vbs"
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2006-4-27 16:30:54 | 只看该作者
你在test.vbs里写上:
Public Function JustTest()
        Dim strMsg
        strMsg="in the test.vbs"
   MsgBox strMsg
End Function

然后在Test->Settings->Resources中,添加这个文件,然后在代码中打上一句JustTest就行了
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2006-4-28 18:04:27 | 只看该作者
我觉得很奇怪的是,我今天将它放在D盘根目录下,结果就好了
觉得很奇怪,难道还跟file的目录地址格式有关系吗?总觉得不太可能啊.

谁能点解一下,非常感谢.
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2006-4-29 09:13:46 | 只看该作者
目录嘛,也不是没有可能,路径中最好不要带空格、中文字符、特殊字符等等……
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2006-4-29 10:30:21 | 只看该作者
问题彻底搞明白了.
单独调用的库vbs文件不能在QTP环境下编辑,单独用editplus等记事本工具编辑,这样就不存在这样的问题了.
我不知道8.2有没有这个问题,我用的是9.0beta版.

这应该是个bug.
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2007-7-17 11:48:36 | 只看该作者

你好

我也遇到了这样的问题,交流一下好吗?谢谢!!fengyi_3@hotmail.com
回复 支持 反对

使用道具 举报

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

    连续签到: 1 天

    [LV.1]测试小兵

    11#
    发表于 2007-7-19 00:14:46 | 只看该作者
    原帖由 michaelyung 于 2006-4-29 10:30 发表
    问题彻底搞明白了.
    单独调用的库vbs文件不能在QTP环境下编辑,单独用editplus等记事本工具编辑,这样就不存在这样的问题了.
    我不知道8.2有没有这个问题,我用的是9.0beta版.

    这应该是个bug.


    “单独调用的库vbs文件不能在QTP环境下编辑”, 是什么意思呀?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2007-7-19 10:18:28 | 只看该作者

    executefile

    作用就是引入代码,别的什么都没有,把ExecuteFile("D:\Project\Mylib\test.vbs")执行以后,test.vbs所包含的代码就进入了当前执行的程序,在当前程序中可以写入justtest进行调用,因为前面executefile已经把函数对应的代码引入了。

    没有什么这个不能编辑那个不能编辑的,看来楼主还是没弄懂!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2007-7-19 10:19:12 | 只看该作者

    executefile

    还有补充一下,这个不是vbscript的函数,是qtp中自带的函数。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-9 23:44 , Processed in 0.086255 second(s), 30 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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