[QTP9.5]вставка скриншота в Test results
#1
Отправлено 08 сентября 2010 - 06:19
есть некоторые проблемы, хотелось бы получить не больщую помощь.
1) в Test results сейчас вставляет диагностику операции, есть ли возможность вставлять туда скрин. чтобы пользователям было наглядно видно, результат до и после.
2) создали функцию. подвязали её в Resources. тем не менее система выдаёт такой вид ошибки "Несоответствие типа: "название функции"". есть подобная функция, различие между ними только в wait (1). эта функция работает корректно, а новая вываливается в ошибку.
#2
Отправлено 17 сентября 2010 - 09:45
1. Насколько я помню в версии 9.5 уже была включена собственная возможность вставки скриншота с помощью Reporter.ReportEvent. Если нет, то поищете по форуму. Где-то здесь кто-то уже выкладывал возможность логирования со скриншотами (была целая библиотека).
2. По такому описанию трудно что-то сказать. Приведите обе функции, строку где вызывается функция, которая выдает ошибку
#3
Отправлено 21 сентября 2010 - 06:06
но в любом случае, сохранение скриншота происходит через файл(html, txt и т.д.). нет ли возможности сохранять в буфер, а потом оттуда вставлять. Чтобы не создавать для этого лишние файлы и не перебивать пути.
#4
Отправлено 21 сентября 2010 - 16:53
День добрый.но в любом случае, сохранение скриншота происходит через файл(html, txt и т.д.). нет ли возможности сохранять в буфер, а потом оттуда вставлять. Чтобы не создавать для этого лишние файлы и не перебивать пути.
Если честно, то не очень понятно, куда Вы хотите из буфера вставлять картинку, и где Вам требуется перебивать пути.
В 9.5. встроенной функциональности отправить скриншот в родной лог QTP нет. Такая опция появилась только в QTP 10.0
Там Вы можете передать последним параметром путь к файлу при вызове метода ReportEvent:
Reporter.ReportEvent status, title, decription, PathToScreenshot
Чтобы отправить картинку в буфер достаточно через SendKeys нажать кнопочку "PrintScreen", но, ума не приложу, что потом с этим скриншотом делать :)
Есть еще разного рода сторонние программки, которые по заданным сочетаниям клавиш снимают скриншоты и сохраняют по заранее заданому пути, именуя их по маске, чтобы файлы не перетирались.
P.S. С нерабочей функцией разобрались? Если нет, то приведите, пожалуйста, код обеих функций и то, как Вы их вызываете. Это сильно упростит анализ ошибки
SQL для тестировщиков
Тренинги по HP QTP и автоматизации тестирования
Если минарет, значит выше всех (с)
#5
Отправлено 23 сентября 2010 - 01:41
видимо не возможно реализовать в этой версии, но всё таки попробую объяснить. может мы друг друга не поняли :)
вот таким образом вставляем диагностику операции. то есть открываем диагностику, всё выделяем CTRL+A, потом CTRL+C и после сразу вставляем в result
Window("Банковская система COLVIR").Activate Window("Банковская система COLVIR").WinMenu("Menu").Select "<Item 3>;<Item 3>" Window("Диагностика").Activate Window("Диагностика").WinObject("TSyntEdit").Click 259,160 Window("Диагностика").WinObject("TSyntEdit").Type micCtrlDwn + "ф" + micCtrlUp Window("Диагностика").WinObject("TSyntEdit").Type micCtrlDwn + "с" + micCtrlUp 'strClipboard - содержимое буфера обмена strClipboard = "" Set objCL = CreateObject("Mercury.Clipboard") strClipboard = objCL.GetText Window("Диагностика").WinObject("TSyntEdit").Type micEsc Window("Банковская система COLVIR").Activate Window("Банковская система COLVIR").WinMenu("Menu").Select "<Item 3>;<Item 1>" Reporter.ReportEvent 2, "Диагностика", strClipboard
не сохраняя в файл, а сразу из буфера в result. диагностика операции - это текста. теперь хотелось бы, чтобы то же самое получилось с скриншотом.
сделать print screen и сразу записать картинку в result.
#6
Отправлено 23 сентября 2010 - 16:04
То же самое получится и со скриншотом. Единственная проблема — QTP будет думать, что ему, как и всегда, передали строку. А что получается, когда картинку хотят представить в виде текста, Вы можете посмотреть, открыв, например любой jpeg-файл в notepad.не сохраняя в файл, а сразу из буфера в result. диагностика операции - это текста. теперь хотелось бы, чтобы то же самое получилось с скриншотом.
сделать print screen и сразу записать картинку в result.
SQL для тестировщиков
Тренинги по HP QTP и автоматизации тестирования
Если минарет, значит выше всех (с)
#7
Отправлено 23 сентября 2010 - 16:10
У меня еще пара вопросов возникла:Window("Банковская система COLVIR").Activate Window("Банковская система COLVIR").WinMenu("Menu").Select "<Item 3>;<Item 3>" Window("Диагностика").Activate Window("Диагностика").WinObject("TSyntEdit").Click 259,160 Window("Диагностика").WinObject("TSyntEdit").Type micCtrlDwn + "ф" + micCtrlUp Window("Диагностика").WinObject("TSyntEdit").Type micCtrlDwn + "с" + micCtrlUp 'strClipboard - содержимое буфера обмена strClipboard = "" Set objCL = CreateObject("Mercury.Clipboard") strClipboard = objCL.GetText Window("Диагностика").WinObject("TSyntEdit").Type micEsc Window("Банковская система COLVIR").Activate Window("Банковская система COLVIR").WinMenu("Menu").Select "<Item 3>;<Item 1>" Reporter.ReportEvent 2, "Диагностика", strClipboard
а почему нельзя взять текст непосредственно из объекта WinObject("TSyntEdit"), а не мучиться с буфером обмена?
На чем написан интерфейс Colvir'a? Судя по коду, QTP нормально не распознает пользовательский интерфейс Вашего приложения.
SQL для тестировщиков
Тренинги по HP QTP и автоматизации тестирования
Если минарет, значит выше всех (с)
#8
Отправлено 24 сентября 2010 - 04:12
используем буфер для того, чтобы пользователи видели откуда мы берём эту диагностику.
#9
Отправлено 28 сентября 2010 - 11:06
Что касается скриншотов, то вставить скриншот прямо в results нельзя.
Так или иначе сначала его надо сохранить в какой-нибудь файл типа png или jpg. А в result можно вставить только ссылку.
Как правильно заметил Павел, встроенная и официальная поддержка скриншотов появилась только в версии 10.0. Для версий ниже использовалась недокументированная функциональность:
Reporter.ReportEvent eventStatus, eventHeader, eventDesc & "&<IMAGE src=""" & FileNameBase & FileName & """' />"
Здесь
FileNameBase & FileName - это абсолютный путь к файлу скриншота, его надо формировать всегда уникальным.
eventDesc - текстовое описание события
Основой для того, чтобы в логе была картинка, является наличие в тексте строки &
Чтобы сделать сам файл скриншота используется код:
Obj.CaptureBitmap FileNameBase & FileName
Obj - это любой QTP объект (WinObject, Window, WinEdit, WebEdit и т.д.) или объект Desktop. Создается скриншот видимой области объекта.
#10
Отправлено 12 октября 2010 - 07:39
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных