方式1的使用方法:
直接在QTP中打:
Executefile "c:\Terry.vbs"
随后就可以引用wally.vbs中的任意函数了,如 msgbox GetIPAddr()
方式2的使用方法:
点击QTP菜单的File->Settings->Resources,之后添加Terry.vbs到QTP的resource中
随后就可以引用Terry.vbs中的任意函数了,如 msgbox GetIPAddr()
方式3的使用方式:
ExecuteGlobal是VBS的函数而非QTP特有的函数,ExecuteGlobal的功能可以引入其它vbs文件的函数,就和C++的include,Java的import一样。使用范例:
dim fso : set fso = createobject("scripting.filesystemobject")
executeglobal fso.opentextfile("c:\Terry.vbs", 1).readall
set fso = nothing
大家可以看到其实它是把Terry.vbs全部读入内存中
随后就可以引用Terry.vbs中的任意函数了,如 msgbox GetIPAddr()
下面是一些我使用中的心得:
方式1:Executefile的好处:
QTP可以使用这个函数方便了自己写语句来引入函数,灵活性非常高
方式1:Executefile的缺点和解决方案:
1.会使得QTP的语句执行的黄色指针工作异常,狂跳
2.Debug很头疼。我以前的上周有一段经历,一个很小的Bug,调试的时候Step into不进正确的函数体,竟然跳到了一行空行。后来这个小Bug竟然足足花了我3整天的时间。这个应该是QTP的Bug,希望它后续的版本可以改进
3.会莫名其妙的执行一些本不应该有的操作,大大降低QTP执行时间效率,之间屏幕在闪,但是不知道在执行些什么。我曾经遇到过这样的情况:任其自然执行,屏幕狂闪,执行了半小时;我单步执行,只花了5分钟执行完毕。可见这会使得原本就受质疑的QTP的Performance更受谴责
解决方案:
以上三点我找不出解决方案,属于Hp的严重Bug还是需要HP来完善