Полагаю, это зависит от того, что вы хотите сделать. Если вы хотите сравнить растровое изображение, то параметры CaptureBitmap
должны работать. Если вы хотите сравнить путь к изображению, вы можете использовать Image("x").GetROProperty("src")
.
Если вы действительно хотите сохранить файл изображения src
, тогда, к сожалению, QTP не предоставляет способ взаимодействия с контекстным меню браузера. Вы можете попытаться использовать какой-нибудь сторонний механизм для загрузки изображения с URL-адреса src
(например, wget ).
Редактировать: У меня только что была другая мысль, я не на работе, поэтому я не могу убедиться, что это будет работать, но я уверен, что это будет работать.
Сначала вызовите контекстное меню, чтобы сделать это, вам нужно изменить режим воспроизведения на устройство и запустить операцию RightClick
.
replayType = Setting.WebPackage("ReplayType") ' Store old replay mode
Setting.WebPackage("ReplayType") = 2 ' change to device replay mode
Browser("b").Page("p").Image("I").RightClick
Setting.WebPackage("ReplayType") = replayType ' Revert to old mode
Затем отправьте письмо v в браузер, который выберет пункт меню Save
(как в IE, так и в Firefox), используя объект воспроизведения устройства
Set deviceReplay = CreateObject( “Mercury.DeviceReplay” )
deviceReplay.SendString "v"
Теперь взаимодействуйте с диалоговым окном сохранения как обычным элементом управления Win32.
Мораль: Никогда не стоит недооценивать, что QTP позволит вам сделать, если вы попытаетесь достаточно усердно