QTP: Recovery-функции
#1
Отправлено 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 к ним, почему-то, не применяется
Версия QTP 8.2
Заранее спасибо.
#2
Отправлено 12 марта 2007 - 12:39
Во вторых поищи это - CurrentTest Property
В третьих покопайся в QuickTest Professional Automation Object Model Reference.
Не знаю, как там точно в 8.2 версии, но в 9-й всё есть.
Этот вопрос что-то не понял.И еще, знает ли кто-нибудь, как можно в Recovery-функции использовать параметры:
#3
Отправлено 12 марта 2007 - 13:18
Спасибо, кажется, то, что надо.Во первых поищи в хелпе вот это - GetLastError Statement
Поправочка: В библиотечной функции, к сожалению, не работает, пишет Operation completed successfully.
CurrentTest, кажется, только с QC работает, а с ним у нас интеграции нет.
Через Automation тест переделывать неохота, как оттуда получить ошибку, я знаю.
При создании библиотечной функции для Recovery-сценария QTP автоматически ставит ей в заголовке четыре параметра (их я перечислил в первом сообщении). Я думаю, если эти параметры у функции есть, значит в них что-то передается. Значит, их можно использовать. Значит, это кому-то нужно. А вдруг это нужно мне, а я и не знаю :)Этот вопрос что-то не понял.И еще, знает ли кто-нибудь, как можно в Recovery-функции использовать параметры:
Вобщем так.
#4
Отправлено 12 марта 2007 - 15:18
Ну, скажем:
Reporter.ReportEvent micDone,"Recovery Scenario Invoked","Debug Info. Object class:"&Object.GetTOProperty("micclass") &". TestObject method name:" & Method & ". Result:"&CStr(result)
Надо зарепортить массив (аргументы) - ну напишите функцию, которая из массива делает строку и репортьте её - вроде задача совсем не сложная. Единственный вариант, когда CStr выдаёт ошибку - если переменная типа массив. Это легко проверить с помощью isArray(). Обработку переменных типа object также имеет смысл вынести отдельно. Проверять - функцией isObejct.
Майк.
#5
Отправлено 12 марта 2007 - 15:37
Странно! Напиши в суппорт. Глюков много!Поправочка: В библиотечной функции, к сожалению, не работает, пишет Operation completed successfully.
#6
Отправлено 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 анонимных