51Testing软件测试论坛

标题: [已解决]Settings->Resources里面文件中的函数如何使用 [打印本页]

作者: onlonely    时间: 2009-6-1 14:03
标题: [已解决]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
类型不匹配,应该是没有正确加载到函数体引起的. 个人感觉还是用语句加载,灵活性更大一些.
作者: heqingbluesky    时间: 2009-6-1 15:30
1.在Resource里面加载VBS文件

2. 在调用VBS文件里面的Function前,使用executefile编译这个文件。
作者: onlonely    时间: 2009-6-1 18:01
标题: 回复 3# 的帖子
加载,再编译...
这样还不如直接executefile好了.
作者: hsjzfling    时间: 2009-6-3 10:57
如果你已经在Resource中正确加载VBS文件了,那该文件会在QTP开始RUN的时候预先被执行,相当于在QTP的第一行就执行Executefile。建议LZ再好好检查下自己的代码。
作者: onlonely    时间: 2009-6-4 09:07
标题: 回复 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
原帖由 heqingbluesky 于 2009-6-1 15:30 发表
1.在Resource里面加载VBS文件

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

这位仁兄的意思应该是这两种方法都可以 并不是加载了之后再用executefile来编译
如果楼主在Resource中加载了VBS文件应该可以直接调用的 楼主可以检查一下Resource中文件路径是否正确
作者: onlonely    时间: 2009-6-6 08:03
标题: 回复 7# 的帖子
如附件,加载,路径都不可能错的,QTP也正确识别了.
只是,如果不先ExecuteFile就不能使用
作者: Camael    时间: 2009-6-6 12:18
我不知道我说的对你是否有用,我以前遇到过这样一种情况,如果你的VBS脚本的编码是unicode的话会出问题,保存为ANSI的就没有问题,你可以check下是否这个原因。
作者: onlonely    时间: 2009-6-7 20:27
标题: 回复 9# 的帖子
还是不行....

依然如果不ExecuteFile一下就不能使用
作者: onlonely    时间: 2009-6-25 13:20
好久了.没有人有解决方法的么
作者: intothestorm    时间: 2009-6-25 14:32
抛type mismatch,可能原因很多。
就你这种情况,我估计是QTP没有在加载的vbs文件里找到你那个function。
至于为什么没找到,可能是8楼说的原因。
你把那个vbs文件直接用qtp打开能不能正常显示?
看到executefile后能执行,我又怀疑有没有同名的function在不同的vbs文件里。
说了也白说,问题还是要你自己解决,搞定后别忘了发攻略。::yxiao:::
作者: onlonely    时间: 2009-6-26 10:24
标题: 回复 12# 的帖子
熊猫真是厉害.点醒了我.
现在总算解决了.

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

出这个问题的根本原因可能是编码的问题,
解决办法是:
你只要用QTP打开这个vbs文件,然后任意修改点内容,再保存下,就可以不包含就能使用了.




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2