Невозможно скопировать данные буфера обмена на удаленном компьютере во время выполнения тестов из ALM
Я использую следующий сценарий для сценария восстановления в UFT, вызывая функцию ErrorrecoveryHandler(object)
:
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 и возникает ошибка, вызывается вышеуказанный вызов функции, но я получаю ошибку:
Ошибка запуска:
Компонент ActiveX не может создать объект: 'Mercury.Clipboard'
3 ответа
Странно, но факт: если вы устанавливаете UFT, включая пример проекта 'Flight', вы также установите компонент ActiveX. Тогда у вас не будет проблем с использованием буфера обмена Mecury.
Как указано, например, в http://www.sqaforums.com/showflat.php?Number=203008, Mercury.Clipboard
доступно только при установке QTPPlus.
Без этого не будет ClipboardObject.dll, которая является DLL, которая реализует Mercury.Clipboard
,
Этот объект ActiveX должен быть зарегистрирован как часть базовой установки QTP/UFT. Вы можете попробовать переустановить.