51Testing软件测试论坛

标题: 如何在QTP中调用vbs脚本的类和函数 [打印本页]

作者: solidedge    时间: 2010-2-5 07:58
标题: 如何在QTP中调用vbs脚本的类和函数
我的vbs脚本是这样的结构:
Class login
   Function login(Sheetname)
   ...
   End Function
   Function logout(Sheetname)
   ...
   End Function
End Class

我想在QTP中导入一个数据表,然后传给函数,我是这样写的,但是不成功,高手能帮忙改改吗?多谢了!
call DataTable.AddSheet(TestSheet)
call DataTable.ImportSheet(TestCaseExcelFile,1, TestSheet)

ExecuteFile "login.vbs"
Execute "Set objlogin = new login"
Execute "Call objlogin.login(TestSheet)"
作者: topor    时间: 2010-2-5 09:10
我只写过VBS的function,方法如下:
   Function login(Sheetname)
   ...
     End Function
1.保存为login.vbs脚本
2.用QTP 创建一个test,在file->setting->Resource把这个vbs脚本加到Associated Function Libraries里面。
3.在QTP test中call login(Sheetname) 即可。
应该vbs class也是一样的,你可以试试。
作者: zzxxbb112    时间: 2010-2-5 09:33
在lib中加入实例化类的函数接口

例如

function newClass()
    Set objlogin = new login
    set newClass=objlogin
end function



QTP中直接调用此函数并返回就可以获取实例
作者: yujie6832    时间: 2010-2-5 10:10
楼上正解,凡是有CLASS的,需要实例化下,QTP不直接认CLASS的
作者: solidedge    时间: 2010-2-5 11:28
我觉得我这段代码就是在用实例化对象:
ExecuteFile "login.vbs"
Execute "Set objlogin = new login"
Execute "Call objlogin.login(TestSheet)"

但是我现在在ExecuteFile "login.vbs"就停住了,给我的错误就是:
Expected end of statement
可是我实在不知道问题在哪儿了?
没有人帮我看看代码吗?
作者: solidedge    时间: 2010-2-5 13:05
找到原因了。代码是对的,login.vbs脚本中CheckProperty属性需要括号,错误就报到了这一句:ExecuteFile "login.vbs"。多谢大家的方案!
作者: hzr2006    时间: 2011-6-22 19:36
受益匪浅啊,谢谢LZ




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