Настройка Rational Functional Tester (RFT) для работы в Хадсон / Дженкинс - PullRequest
3 голосов
/ 16 декабря 2009

Я только что установил Hudson, и он работает прекрасно. Он строит, запускает JUnit-тесты, а также анализ CheckStyle.

Следующим шагом для нас будет создание установки, ее установка, а затем запуск автоматических тестов на реальной установке. Затем я хотел бы завершить сборку, если тесты не пройдут, или хотя бы как-нибудь опубликовать результаты. Я думаю, что мы настроили бы так, чтобы часть запускалась периодически или запускалась вручную.

Мы используем InstallAnywhere для установки и IBM Rational Functional Tester для автоматизированных тестов.

Итак, вопросы: кто-нибудь создал подобную установку? Есть ли какие-либо плагины, учебные пособия или другой ресурс, который мог бы помочь мне в этом. Или у вас есть какие-либо советы или рекомендации в целом.

Ответы [ 4 ]

6 голосов
/ 16 декабря 2009

Ссылка на командную строку для Rational Functional Tester:

http://publib.boulder.ibm.com/infocenter/rfthelp/v8r0m0/index.jsp?topic=/com.ibm.rational.test.ft.doc/topics/RobotJCommandLine.html

Пример команды для запуска теста:

java -classpath "C:\IBM\RFT\FunctionalTester\bin\rational_ft.jar" 
com.rational.test.ft.rational_ft -datastore \\My_project\AUser\RobotJProjects -user admin -project
\\My_project\AUser\TestManagerProjects\Test.rsp -build "Build 1" -logfolder "Default" -log  
"Al_SimpleClassicsA#1" -rt.log_format "TestManager" -rt.bring_up_logviewer true -playback 
basetests.SimpleClassicsA_01

Дополнительное замечание: вам нужно правильно настроить окна на компьютере агента, на котором будут выполняться тесты. Это не советы, специфичные для Hudson или RFT, а скорее все инструменты автоматизации графического интерфейса в Windows. Для RFT потребуется интерактивная среда рабочего стола, чтобы можно было нажимать кнопки и т. Д. Если ваш агент Hudson работает как служба Windows, рабочего стола не будет. См. Следующее: Тесты Silverlight не работают, если не открыто соединение RDP

3 голосов
/ 16 декабря 2009

Мы запустили довольно сложную распределенную сборку на Hudson, это процесс, который в основном следующий:

  1. Тест на Windows.
  2. Тестирование на OSX, запуск покрытия кода и отправка результатов на сервер.
  3. Тест на OSX Tiger.
  4. Пакет для OSX Leopard и принудительная сборка на сервер.
  5. Пакет для Windows и принудительная сборка на сервер.
  6. Обновление веб-сайта продукта.

Мы не используем InstallAnywhere или Rational Functional Tester, но на их месте есть похожие механизмы. Ключ, который мы нашли, чтобы заставить все это петь в Хадсоне, был в состоянии выполнить наши различные шаги из командной строки. Maven и соответствующие плагины сделали эту работу недолгой. Поэтому мой совет заключается в том, чтобы, используя любой используемый вами инструмент сборки (ant, maven,?), Настроить их так, чтобы вы могли запустить свой рациональный функциональный тестер и установить его в любом месте из командной строки с простой целью, переданной вашему инструменту сборки ( то есть тест mvn или сборка mvn: сборка).

После этого убедитесь, что на любой машине, на которой работает Hudson, все установлено (т. Е. Rational Functional Tester) и сконфигурировано, чтобы вы могли открыть командную строку и ввести цель и правильно выполнить свои тесты.

С этого момента подключить его в Хадсоне довольно просто - просто укажите цель при настройке сборки.

0 голосов
/ 20 мая 2016

Я считаю, что лучший ответ - интеграция RFT с Hudson / Jenkins - бесполезная попытка.

Как сказано в FAQ IBM , чтобы заставить RFT работать, вы должны:

  • войти в машину;
  • экран не может быть заблокирован;
  • если вы подключены удаленно, вы не можете свернуть экран подключения.

Так что вы не можете запускать Jenkins / Hudson как сервис, что делает его не очень полезным. Вы должны запустить его из своей учетной записи. Если вы работаете на корпоративном компьютере (очень вероятно, если вы используете RFT), вы, вероятно, должны использовать хак , чтобы предотвратить запуск заставки . Если экран заблокирован, ваши тесты всегда будут неудачными.

Не очень сложно настроить ваши тесты на запуск из командной строки , вам просто нужно позаботиться о кодах возврата, когда тесты не пройдены и завершатся успешно.

Дженкинс / Хадсон также дал бы вам некоторые преимущества, такие как интеграция тестов с вашим контролем версий, возможно, автоматический запуск тестов при выполнении фиксации. Это также поможет отправлять электронные письма, если тесты не пройдены.

Но вам все равно придется интегрировать журналы RFT с каким-то плагином JUnit, чтобы получить хороший отчет. Вам также потребуется скрипт для запуска тестов с использованием командной строки.

Я думаю, что не стоит беспокоиться об использовании сервера непрерывной интеграции с RFT. Лучше просто каждый день запускать свои тесты в планировщике заданий Windows. Это более простое решение с меньшим количеством точек отказа.

0 голосов
/ 21 июля 2010

У меня есть несколько общих советов по этому поводу, потому что я еще не реализовал это сам. Я предполагаю, что вы хотите, чтобы Hudson автоматически запускал сценарии RFT для вас через сборку или процесс Hudson? Я хочу внедрить нечто подобное и в своей организации.

Я еще не смог реализовать это из-за организационных ограничений, но вот что я обдумал / сделал до сих пор:

  1. Скачал просмотрщик процессов Windows, получил команду для запуска тестов.
  2. Сделал из него скрипт оболочки, выделил переменные и т. Д.
  3. В будущем планируется настроить ведомый компьютер Windows, в котором будут все инструменты, необходимые для запуска тестов, например. правильные версии браузеров, переменные окружения и другие необходимые инструменты.
  4. Хадсон запускает процесс, который запускает созданные сценарии оболочки, который запускает все сценарии RFT и выполняет необходимые операции на подчиненном компьютере.
...