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

Фотография

QTP: Recovery-функции


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

#1 iFomin

iFomin

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

  • Members
  • Pip
  • 51 сообщений
  • ФИО:4min Il
  • Город:мск


Отправлено 12 марта 2007 - 09:54

Возникла следующая проблема:

Необходимо отсылать по мылу сообщение, если во время выполнения теста возникли какие-то ошибки. Написал Recovery-operation: вызов библиотечной функции и соответствующую функцию, которая отправляет письмо. Тут проблем нет.
Потом захотелось как-то конкретизировать в письме, какая именно ошибка возникла. Это как-нибудь возможно? То есть, можно как-нибудь получить текст, который пишется во всплывающем окне ошибки, если Recovery scenarios не установлены?
И еще, знает ли кто-нибудь, как можно в Recovery-функции использовать параметры:
[in] Object as Object: The object of the current step.
[in] Method as String: The method of the current step.
[in] Arguments as Array: The actual method's arguments.
[in] Result as Integer: The actual method's result.

CStr к ним, почему-то, не применяется :smile:

Версия QTP 8.2

Заранее спасибо.
  • 0

#2 Deman

Deman

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

  • Members
  • PipPip
  • 104 сообщений
  • ФИО:Трошков Дмитрий Ростиславович

Отправлено 12 марта 2007 - 12:39

Во первых поищи в хелпе вот это - GetLastError Statement
Во вторых поищи это - CurrentTest Property
В третьих покопайся в QuickTest Professional Automation Object Model Reference.

Не знаю, как там точно в 8.2 версии, но в 9-й всё есть.

И еще, знает ли кто-нибудь, как можно в Recovery-функции использовать параметры:

Этот вопрос что-то не понял.
  • 0

#3 iFomin

iFomin

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

  • Members
  • Pip
  • 51 сообщений
  • ФИО:4min Il
  • Город:мск


Отправлено 12 марта 2007 - 13:18

Во первых поищи в хелпе вот это - GetLastError Statement

Спасибо, кажется, то, что надо.
Поправочка: В библиотечной функции, к сожалению, не работает, пишет Operation completed successfully.

CurrentTest, кажется, только с QC работает, а с ним у нас интеграции нет.

Через Automation тест переделывать неохота, как оттуда получить ошибку, я знаю.


И еще, знает ли кто-нибудь, как можно в Recovery-функции использовать параметры:

Этот вопрос что-то не понял.

Просмотр сообщения

При создании библиотечной функции для Recovery-сценария QTP автоматически ставит ей в заголовке четыре параметра (их я перечислил в первом сообщении). Я думаю, если эти параметры у функции есть, значит в них что-то передается. Значит, их можно использовать. Значит, это кому-то нужно. А вдруг это нужно мне, а я и не знаю :)

Вобщем так.
  • 0

#4 Mike

Mike

    Консультант

  • Members
  • PipPipPipPipPipPip
  • 1 079 сообщений
  • Город:Москва

Отправлено 12 марта 2007 - 15:18

Так, вроде, понятно они выразились в Help, разве нет? Описали все аргументы и их типы... Не работает?


Ну, скажем:
Reporter.ReportEvent micDone,"Recovery Scenario Invoked","Debug Info. Object class:"&Object.GetTOProperty("micclass") &". TestObject method name:" & Method & ". Result:"&CStr(result)

Надо зарепортить массив (аргументы) - ну напишите функцию, которая из массива делает строку и репортьте её - вроде задача совсем не сложная. Единственный вариант, когда CStr выдаёт ошибку - если переменная типа массив. Это легко проверить с помощью isArray(). Обработку переменных типа object также имеет смысл вынести отдельно. Проверять - функцией isObejct.
  • 0
Best regards,
Майк.

#5 Deman

Deman

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

  • Members
  • PipPip
  • 104 сообщений
  • ФИО:Трошков Дмитрий Ростиславович

Отправлено 12 марта 2007 - 15:37

Поправочка: В библиотечной функции, к сожалению, не работает, пишет Operation completed successfully.

Странно! Напиши в суппорт. Глюков много!
  • 0

#6 iFomin

iFomin

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

  • Members
  • Pip
  • 51 сообщений
  • ФИО:4min Il
  • Город:мск


Отправлено 13 марта 2007 - 16:10

Так, вроде, понятно они выразились в Help, разве нет? Описали все аргументы и их типы... Не работает?


Ну, скажем:

Reporter.ReportEvent micDone,"Recovery Scenario Invoked","Debug Info. Object class:"&Object.GetTOProperty("micclass") &". TestObject method name:" & Method & ". Result:"&CStr(result)

Надо зарепортить массив (аргументы) - ну напишите функцию, которая из массива делает строку и репортьте её - вроде задача совсем не сложная. Единственный вариант, когда CStr выдаёт ошибку - если переменная типа массив. Это легко проверить с помощью isArray(). Обработку переменных типа object также имеет смысл вынести отдельно. Проверять - функцией isObejct.

Просмотр сообщения


Спасибо, Михаил, очень помогли. У меня вчера вообще голова не работала, если честно)

Но решить основную задачу сабжа, как я понимаю, нереально. Жаль(
  • 0


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

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