Quality Center OTA API提供ISupportCopyPaste等接口(使用剪贴板复制/粘贴数据)。获得对已实现接口的引用的文档化方法是:
'Declare a variable to hold the reference for the interface
Dim bf As IBaseFactory2
' By assigning the implementing object reference to the
' IBaseFactory2 type variable, the type is cast to that of the
' implemented interface. The new variable is a reference to the
' IBaseFactory2 interface within the parent object.
' tdc is the global TDConnection object.
Set bf = tdc.BugFactory
以上代码在VB中(我不想使用) 但是,QTP在Dim声明中不允许“As” 谁能说出如何使用QTP获取参考? 这个问题的任何其他解决方案?例如:使用Python Win32
答案 0 :(得分:2)
QTP “不允许As
语句中的Dim
的原因是QTP脚本基于VBScript 而不是 VB,并且As
仅限VB(VBScript是动态类型的)。
如果要在QTP中使用OTA,可以尝试使用QTP公开的QCUtil
对象(有关详细信息,请参阅QTP的帮助)。
如果QCUtil
没有为您提供所需的对象,您可以使用任何知道如何与COM交互的语言来创建OTA对象(这些语言包括但不限于VB,VBScript ,C ++和.NET语言,我不确定Python)。
如果您确实选择使用VBScript,则可以使用VBScript的CreateObject
函数创建OTA对象(搜索CreateObject OTA以获取更多信息)。
答案 1 :(得分:0)
理论上,大多数OTA公开的对象及其公开的接口都是IDispatch。
换句话说;从vbscript处理这些对象时,您不必将手头的对象强制转换为ISupportCopyPaste。您只需调用手头对象上的方法,就像它是ISupportCopyPaste一样,您只需要正确获取方法签名。