我通过调用函数ErrorrecoveryHandler(object)
在UFT中使用以下脚本进行恢复方案:
Function getClipBoardText(object)
Dim objCB
Set objCB = CreateObject("Mercury.Clipboard")
Dim sClipText
' Assign clipboard contents to string variable sClipText.
sClipText = objCB.GetText
'getClipBoardText = sClipText
Reporter.ReportEvent micFail, "There was an exception during execution", sClipText
End Function
Function ErrorrecoveryHandler(object)
JavaWindow("LightSpeedEVoMain").JavaDialog("Error").JavaButton("Copy to Clipboard").Click
Dim objCB
Set objCB = CreateObject("Mercury.Clipboard")
errorDetails = objCB.GetText
Reporter.ReportEvent micFail, "There was an exception during execution", errorDetails
JavaWindow("LightSpeedEVoMain").JavaDialog("Error").JavaButton("OK").Click
End Function
当我通过ALM在VM上运行我的应用程序并且出现错误时,上述函数调用被触发,但我收到错误:
运行错误:
ActiveX组件无法创建对象:' Mercury.Clipboard'
答案 0 :(得分:0)
该ActiveX对象应该作为基本QTP / UFT安装的一部分注册。您可能想尝试重新安装。
答案 1 :(得分:0)
如http://www.sqaforums.com/showflat.php?Number=203008中所述,Mercury.Clipboard
只有在您安装QTPPlus 时才可用。
没有它,就没有ClipboardObject.dll,它是实现Mercury.Clipboard
的DLL。
答案 2 :(得分:0)
奇怪但却是如此:如果您安装包含“Flight”示例项目的UFT,您还将安装ActiveX组件。 然后使用Mecury剪贴板就没问题了。