3

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

4

2 回答 2

2

QTP “不允许AsDim语句中”的原因是QTP脚本基于VBScript而不是VB,并且As仅是VB(VBScript是动态类型的)。

如果您想在 QTP 中使用 OTA,您可以尝试使用QCUtilQTP 公开的对象(有关更多信息,请参阅 QTP 的帮助)。

如果QCUtil没有为您提供所需的对象,您可以使用任何知道如何与 COM 交互的语言来创建 OTA 对象(这些语言包括但不限于 VB、VBScript、C++ 和 .NET 语言,我'不确定Python)。

如果您确实选择使用 VBScript,您可以使用 VBScript 的CreateObject函数创建 OTA 对象(搜索CreateObject OTA以获取更多信息)。

于 2011-01-23T12:52:38.053 回答
0

理论上大多数OTA暴露的对象和它们暴露的接口都是IDispatch。

换句话说; 从 vbscript 处理这些对象时,您实际上不必将手头的对象转换为 ISupportCopyPaste。您可以像调用 ISupportCopyPaste 一样调用手头对象上的方法,您只需要正确获取方法签名。

于 2011-01-29T21:36:17.507 回答