Невозможно скопировать данные буфера обмена на удаленном компьютере во время выполнения тестов из 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. Вы можете попробовать переустановить.

Другие вопросы по тегам