Перейти к содержимому

Фотография

Скриншот


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 6

#1 neono

neono

    Новый участник

  • Members
  • Pip
  • 30 сообщений

Отправлено 16 февраля 2009 - 11:52

Коллеги.

Созрел вопрос.
Как в Роботе сделать скриншот?

Вообще хотелось бы реализовать примерно следующее:
Например есть скрипт, который что-то делает в веб-приложении.
В скрипте прописано, например, нажатие кнопки или переход по линку.
Если линке на странице отсутствует то скрипт заканчивает выполнение с Fail.
Можно ли как-нибудь заставить Робота снимать скриншот прежде чем он бы закончил выполнение?

Спасибо.
  • 0

#2 McStar

McStar

    Новый участник

  • Members
  • Pip
  • 40 сообщений
  • ФИО:Максим


Отправлено 26 июня 2009 - 11:37

Коллеги.

Созрел вопрос.
Как в Роботе сделать скриншот?

Вообще хотелось бы реализовать примерно следующее:
Например есть скрипт, который что-то делает в веб-приложении.
В скрипте прописано, например, нажатие кнопки или переход по линку.
Если линке на странице отсутствует то скрипт заканчивает выполнение с Fail.
Можно ли как-нибудь заставить Робота снимать скриншот прежде чем он бы закончил выполнение?

Спасибо.


Насколько я помню (давно не работал с роботом), в настройках воспроизведения нужно поставить галку, что-то типа "снимать скриншот в случае ошибок". И он тогда сам будет их делать в случае ненахождения нужного элемента.
  • 0

#3 QA*

QA*

    Активный участник

  • Members
  • PipPip
  • 104 сообщений
  • Город:Москва

Отправлено 14 июля 2009 - 08:20

Насколько я помню (давно не работал с роботом), в настройках воспроизведения нужно поставить галку, что-то типа "снимать скриншот в случае ошибок". И он тогда сам будет их делать в случае ненахождения нужного элемента.

А как сделать так, чтобы скриншон снимался в любом случае, при появлении нужного окна?
  • 0

#4 Mila

Mila

    Постоянный участник

  • Members
  • PipPipPip
  • 192 сообщений
  • Город:Санкт-Петербург

Отправлено 14 июля 2009 - 08:57

Вот тут что-то есть по этому поводу :)
http://www.sql.ru/fo...aspx?tid=388412
В хелпе должно быть все подробно описано :)
  • 0

#5 QA*

QA*

    Активный участник

  • Members
  • PipPip
  • 104 сообщений
  • Город:Москва

Отправлено 14 июля 2009 - 12:24

Про RegionVP я читал в хелпе...
Вопрос, как мне снять скриншот (или изображение отдельного окна) не только в случае не совпадения с VP, но и в случае совпадения, так чтобы лог всегда оставался зеленым. Точнее, мне не нужно ничего верифицировать, мне нужно просто в определенный момент сохранить в лог изображение на экране (или изображение отдельного окна). Хотелось бы обойтись без "принтскрина", да и тут не понятно, как извлечь из буфера изображение, как эго сохранить в лог...
  • 0

#6 QA*

QA*

    Активный участник

  • Members
  • PipPip
  • 104 сообщений
  • Город:Москва

Отправлено 30 октября 2009 - 10:01

Коллега Legend создавал новую тему со следующим вопросом:

Всем доброе времени суток!

Проблема.
Не получается сделать скриншот средствами Rational Robot.

Задача:
Мне не нужно ничего верифицировать, мне нужно в определенный момент сохранить в лог изображение на экране.
Хотелось бы обойтись без "принтскрина", да и тут не понятно, как извлечь из буфера изображение, как эго сохранить в лог.

Решение:
К сожалению, сам пока недогадался и не нашел ответа на этом форуме.


Чтобы бы не плодить одинаковые темы, предложил админу удалить новую тему, а взамен поднимаю старую.
  • 0

#7 Alex

Alex

    Постоянный участник

  • Members
  • PipPipPip
  • 237 сообщений
  • ФИО:Алексей

Отправлено 30 октября 2009 - 11:41

Вот эта функция сохраняет скриншот окна с указанным caption. В зависмости от версии Robot может понадобиться иначе формировать пути для VP.

[codebox]Sub SetWindowImageToLog (WinCap As String, Description As String)

Dim Result As Integer
Dim TimeOut As Long
Dim PropertyName, PropertyValue, ResponseKey, CurCaption As String
Dim LogDir, RepPath, ScriptName, LogName As String
Dim VpDir, VpPath, VpName, VpCur As String

call SQAGetProperty("CurrentWindow", "Caption", CurCaption)

LogDir = SQAGetLogDir
LogDir = Left(LogDir, InStr( 1, LogDir, ".Log\", 1)+4)
VpDir = SQAVpGetCurrentBaselineFileName("VP", "csv")
ScriptName = Mid(VpDir, InStr(VpDir, "\vp\")+4, Instr(VpDir, ".VP.base.csv")-InStr(VpDir, "\vp\")-4)
VpDir = Left(VpDir, InStr( 1, VpDir, "\vp\", 1))
VpName = "WindowImage"

'sqaconsolewrite VpName
LogName = Mid(LogDir, InStr(LogDir, ".LogFolder\")+11, Instr(LogDir, ".Log\")-InStr(LogDir, ".LogFolder\")-11)
if InStr(1, LogDir, "\TestDatastore", 1)<>0 then RepPath = Left(LogDir, InStr( 1, LogDir, "\TestDatastore", 1))
VpPath = RepPath + "TestDatastore\DefaultTestScriptDatastore\TMS_Scripts\vp\"

'FileCopy RepPath + "vp\"+VpName+".base.img", VpPath + ScriptName + "."+VpName+".base.img"
'VpCur = Dir(LogDir + "vp\*" + ScriptName + "." + VpName + ".act*.img")
'if VpCur <> "" then Kill LogDir + "vp\" + VpCur
SQALogMessage sqaNone, "Window image for window "+WinCap,Description
call WindowVP (CompareImage, WinCap, "VP="+VpName+";ExpectedResult=Fail")
'Kill VpPath + ScriptName + "."+VpName+".base.img"

Window SetContext, WinCap, ""

End Sub[/codebox]
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных