[已解决]Settings->Resources里面文件中的函数如何使用
我在test Settings->Resources里面包含一个公共函数库.用vbs脚本写的.
但是
我Call vbs脚本里的函数,会提示"类型不匹配"
只有先
executefile "D:\QTP\file\funaction.vbs"
后再call 函数才能正常使用
所以我的问题就是怎么使用 test Settings->Resources里面包含文件中的函数
解决办法在下面的回复中,哈
[ 本帖最后由 onlonely 于 2009-6-26 10:20 编辑 ] 类型不匹配,应该是没有正确加载到函数体引起的. 个人感觉还是用语句加载,灵活性更大一些. 1.在Resource里面加载VBS文件
2. 在调用VBS文件里面的Function前,使用executefile编译这个文件。
回复 3# 的帖子
加载,再编译...这样还不如直接executefile好了. 如果你已经在Resource中正确加载VBS文件了,那该文件会在QTP开始RUN的时候预先被执行,相当于在QTP的第一行就执行Executefile。建议LZ再好好检查下自己的代码。
回复 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 原帖由 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中文件路径是否正确
回复 7# 的帖子
如附件,加载,路径都不可能错的,QTP也正确识别了.只是,如果不先ExecuteFile就不能使用 我不知道我说的对你是否有用,我以前遇到过这样一种情况,如果你的VBS脚本的编码是unicode的话会出问题,保存为ANSI的就没有问题,你可以check下是否这个原因。
回复 9# 的帖子
还是不行....依然如果不ExecuteFile一下就不能使用 :Q 好久了.没有人有解决方法的么 抛type mismatch,可能原因很多。
就你这种情况,我估计是QTP没有在加载的vbs文件里找到你那个function。
至于为什么没找到,可能是8楼说的原因。
你把那个vbs文件直接用qtp打开能不能正常显示?
看到executefile后能执行,我又怀疑有没有同名的function在不同的vbs文件里。
说了也白说,问题还是要你自己解决,搞定后别忘了发攻略。::yxiao:::
回复 12# 的帖子
熊猫真是厉害.点醒了我.现在总算解决了.
其实解决方法和我曾经遇到的EXCEL导入不进去有着异曲同功的感觉.
是这样的,
因为我这个vbs文件是我用文本文档直接编写的.改后缀成vbs的.
出这个问题的根本原因可能是编码的问题,
解决办法是:
你只要用QTP打开这个vbs文件,然后任意修改点内容,再保存下,就可以不包含就能使用了.
页:
[1]