onlonely 发表于 2009-6-1 14:03:27

[已解决]Settings->Resources里面文件中的函数如何使用

我在
test Settings->Resources里面包含一个公共函数库.用vbs脚本写的.

但是
我Call vbs脚本里的函数,会提示"类型不匹配"

只有先
executefile "D:\QTP\file\funaction.vbs"
后再call 函数才能正常使用

所以我的问题就是怎么使用 test Settings->Resources里面包含文件中的函数

解决办法在下面的回复中,哈


[ 本帖最后由 onlonely 于 2009-6-26 10:20 编辑 ]

blizzardlyk 发表于 2009-6-1 14:32:26

类型不匹配,应该是没有正确加载到函数体引起的. 个人感觉还是用语句加载,灵活性更大一些.

heqingbluesky 发表于 2009-6-1 15:30:54

1.在Resource里面加载VBS文件

2. 在调用VBS文件里面的Function前,使用executefile编译这个文件。

onlonely 发表于 2009-6-1 18:01:05

回复 3# 的帖子

加载,再编译...
这样还不如直接executefile好了.

hsjzfling 发表于 2009-6-3 10:57:38

如果你已经在Resource中正确加载VBS文件了,那该文件会在QTP开始RUN的时候预先被执行,相当于在QTP的第一行就执行Executefile。建议LZ再好好检查下自己的代码。

onlonely 发表于 2009-6-4 09:07:24

回复 5# 的帖子

代码本身没有问题的,都能使用,,如下面这样的
Function Case_Path()
        dim strPath
       
        strPath = environment("TestDir")
        Set objFSO = CreateObject("Scripting.FileSystemObject")
        case_path = objFSO.GetParentFolderName(strPath)
        Set objFSO = Nothing
        'msgbox("函数里面"&path)
end Function

ziheng198688 发表于 2009-6-5 16:14:17

原帖由 heqingbluesky 于 2009-6-1 15:30 发表 http://bbs.51testing.com/images/common/back.gif
1.在Resource里面加载VBS文件

2. 在调用VBS文件里面的Function前,使用executefile编译这个文件。
这位仁兄的意思应该是这两种方法都可以 并不是加载了之后再用executefile来编译
如果楼主在Resource中加载了VBS文件应该可以直接调用的 楼主可以检查一下Resource中文件路径是否正确

onlonely 发表于 2009-6-6 08:03:18

回复 7# 的帖子

如附件,加载,路径都不可能错的,QTP也正确识别了.
只是,如果不先ExecuteFile就不能使用

Camael 发表于 2009-6-6 12:18:12

我不知道我说的对你是否有用,我以前遇到过这样一种情况,如果你的VBS脚本的编码是unicode的话会出问题,保存为ANSI的就没有问题,你可以check下是否这个原因。

onlonely 发表于 2009-6-7 20:27:27

回复 9# 的帖子

还是不行....

依然如果不ExecuteFile一下就不能使用

onlonely 发表于 2009-6-25 13:20:06

:Q 好久了.没有人有解决方法的么

intothestorm 发表于 2009-6-25 14:32:26

抛type mismatch,可能原因很多。
就你这种情况,我估计是QTP没有在加载的vbs文件里找到你那个function。
至于为什么没找到,可能是8楼说的原因。
你把那个vbs文件直接用qtp打开能不能正常显示?
看到executefile后能执行,我又怀疑有没有同名的function在不同的vbs文件里。
说了也白说,问题还是要你自己解决,搞定后别忘了发攻略。::yxiao:::

onlonely 发表于 2009-6-26 10:24:43

回复 12# 的帖子

熊猫真是厉害.点醒了我.
现在总算解决了.

其实解决方法和我曾经遇到的EXCEL导入不进去有着异曲同功的感觉.
是这样的,
因为我这个vbs文件是我用文本文档直接编写的.改后缀成vbs的.

出这个问题的根本原因可能是编码的问题,
解决办法是:
你只要用QTP打开这个vbs文件,然后任意修改点内容,再保存下,就可以不包含就能使用了.
页: [1]
查看完整版本: [已解决]Settings->Resources里面文件中的函数如何使用