Приложение платформы NetBeans: Как создать среду тестирования для первого автоматизированного сквозного тестирования через графический интерфейс? - PullRequest
0 голосов
/ 24 декабря 2009

Как написать первый сквозной автоматизированный тест для приложения на платформе NetBeans на Java (не только для захвата и воспроизведения), который предполагает запуск приложения и тестирование, если нажать Главное меню -> Файл -> Меню выхода пункт закроет его?

Дано: установлены jdk1.6.0_17 и apache-maven-2.2.1

Тогда:

mvn archetype:generate -DarchetypeGroupId=org.codehaus.mojo.archetypes -DarchetypeArtifactId=netbeans-platform-app-archetype -DarchetypeVersion=1.1 -DgroupId=stackoverflow.com -DartifactId=netbeans-app -Dversion=1.0-SNAPSHOT

Тогда:

mvn install
cd netbeans-app\application\target\foo\bin\
foo.exe 

И убедитесь, что приложение с графическим интерфейсом по умолчанию успешно запущено.

Какую среду тестирования GUI с открытым исходным кодом вы бы порекомендовали для выполнения этой задачи? Аббат / Костелло, Желе / ​​Джемми, UISpec4J, Марафон, FEST-Swing или WindowLicker?

1 Ответ

2 голосов
/ 25 декабря 2009

Я бы сказал:

Джемми, вероятно, отсутствует, потому что он лучше всего работает как плагин Eclipse. (Не уверен насчет Jelly)

Если у вас есть пользовательские компоненты, то Abbot / Costello отсутствует, я обнаружил, что он непредсказуемо реагирует на них. С пользовательскими компонентами это работает как шарм.

Если запуск тестов из среды IDE Netbeans очень важен для вас, то и Marathon отсутствует, поскольку вам понадобятся тесты из командной строки (или, конечно, его отдельное приложение). Хотя, IMO, это лучшая поддержка пользовательских компонентов.

Это действительно оставляет FEST. FEST очень хорошо интегрируется в работу с Netbeans, потому что он может запускаться так же, как и JUnit, и его результаты теста отображаются прямо на панели «Результаты теста» в IDE Netbean. И он поставляется с действительно аккуратным и простым плагином, который упрощает настройку тестов FEST: подключаемый модуль Geertjan NetBeans для FEST-Swing . Основным недостатком FEST является то, что он только для воспроизведения, без записи, и тестовые случаи должны быть написаны вручную.

Лично мне пришлось принять аналогичное решение о выборе инструмента тестирования для автоматизированной среды тестирования несколько месяцев назад - я пошел с Marathon, потому что тестирование пользовательских компонентов в моем целевом приложении имело огромное значение. При принятии решения также учитывались и другие факторы: способность интегрировать свои тесты в систему непрерывной интеграции, например круиз-контроль; и тестеры с ограниченными возможностями программирования должны были писать / записывать тестовые сценарии; было также важно в нашем случае.

Для ваших целей я бы сказал, что для вашего конкретного вопроса FEST кажется наиболее логичным выбором с информацией, известной сейчас.

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

НТН


Отказ от ответственности: у меня нет опыта работы с UISpec4J, Jelly и WindowLicker, поэтому мой ответ может быть неполным.


Edit: Чтобы добавить, FEST может тестировать приложение при выходе. Это исправлено недавно. Marathon не может сделать то же самое - и это влияет на мое тестирование для тестовых случаев, которые включают тестирование закрытия приложения.
Насколько мне известно, на Abbot / Costello также влияет та же проблема (но я не в курсе этого), а для других инструментов тестирования я не пробовал тестировать выход из приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...