QTP报错“缺少对象WScript”
方法一:
先把脚本保存起来(保证你的脚本能正确运行),例如命名为test.vbs
然后在QTP写以下脚本就可以正确运行了!
Dim oShell
Set oShell =CreateObject ("WSCript.shell")
oShell.run "cmd /K wscript e:\test.vbs"
Set oShell = Nothing
然后在QTP写以下脚本就可以正确运行了!
Dim oShell
Set oShell =CreateObject ("WSCript.shell")
oShell.run "cmd /K wscript e:\test.vbs"
Set oShell = Nothing
方法二:
首先要明白
WScript.CreateObject 和 CreateObject 的区别。
前者的描述方式是基于windows来识别和调用的,所以假如你在一个vbs文件里这么描述,然后双击执行这个文件是没有问题,因为windows存在Wscript这个对象,它遇到这个对象的时候会调用 C:\windows\system32\wscript.exe 这个 应用程序去执行它。
而后者则是不直接调用WScript这个对象来进行后期绑定WSH对象的。比如你在ASP中、QTP中,都必须用这个方式。因为ASP也好,QTP也好,里面都不存在WScript这个对象,所以你用WScript.CreateObject肯定会失败。
明白了这个原因,你就很清楚为什么要这么写,该怎么修改了。
前者的描述方式是基于windows来识别和调用的,所以假如你在一个vbs文件里这么描述,然后双击执行这个文件是没有问题,因为windows存在Wscript这个对象,它遇到这个对象的时候会调用 C:\windows\system32\wscript.exe 这个 应用程序去执行它。
而后者则是不直接调用WScript这个对象来进行后期绑定WSH对象的。比如你在ASP中、QTP中,都必须用这个方式。因为ASP也好,QTP也好,里面都不存在WScript这个对象,所以你用WScript.CreateObject肯定会失败。
明白了这个原因,你就很清楚为什么要这么写,该怎么修改了。
将:
WScript.CreateObject 改为
CreateObject 问题就解决了!