Как я могу сделать результаты теста отчета RFT в режиме реального времени? - PullRequest
1 голос
/ 03 сентября 2010

В нашей среде разработки мы запускаем службу непрерывной интеграции (TeamCity), которая отвечает на проверки кода, выполняя задания по сборке / тестированию и сообщая о результатах.Пока работа выполняется, мы можем легко увидеть, сколько модульных тестов уже выполнено, сколько провалилось и т. Д.

Моя группа автоматизированного тестирования предоставляет тесты пользовательского интерфейса, разработанные в Rational Functional Tester.Извлечение этих тестов из системы контроля версий, их компиляция и выполнение из командной строки - все это довольно простые упражнения.

То, что я не смог найти, - это способ сообщить о тесте.результаты автоматически - например, у слушателей, похоже, нет никаких зацепок или какого-либо способа настройки отправляемых сообщений.

Из моих исследований я пришел к выводу, что моиЕдинственный вариант - (а) дождаться окончания испытаний, а затем (б) проанализировать отчет HTML, который генерирует RFT.

У кого-нибудь есть лучший ответ, чем этот?

Ответы [ 2 ]

1 голос
/ 29 марта 2011

Вот обходной путь, который я использовал для аналогичной цели:

  1. Напишите вспомогательный суперкласс, который перезапишет метод обратного вызова onTerminate, реализуйте там логику анализа вашего журнала.
  2. Измените вспомогательный суперкласс ваших тестовых сценариев на вспомогательный суперкласс, созданный в шаге 1.
  3. Использование RFT CLI вызывает ваши сценарии в коде непрерывной интеграции.
0 голосов
/ 05 апреля 2011

Расширяя @ eric2323223, в переопределении onTerminate вы можете использовать взаимодействие сценариев сборки TeamCity , чтобы ваш статус прохождения / отказа RFT был свернут в TeamCity. Вам просто нужны эти особые сообщения TeamCity, отправляемые в командную строку, чтобы TeamCity их забирал.

##teamcity[testStarted name='test1']
##teamcity[testFailed name='test1' message='failure message' details='message and stack trace']
##teamcity[testFinished name='test1']

##teamcity[testStarted name='test2']
##teamcity[testFailed type='comparisonFailure' name='test2' message='failure message' details='message and stack trace' expected='expected value' actual='actual value']
##teamcity[testFinished name='test2']
...