Тестовый фреймворк Java для Selenium RC - PullRequest
4 голосов
/ 23 апреля 2010

Я собираюсь использовать Selenium RC, чтобы воспроизвести некоторые тесты для веб-сайта. Я хочу запустить эти тесты из среды тестирования Java, чтобы получить хорошие отчеты о том, сколько тестов провалилось и т. Д.

Какой фреймворк Java-тестов мне использовать? Является ли JUnit предпочтительной платформой для этой цели?

Ответы [ 4 ]

5 голосов
/ 24 апреля 2010

Мы используем Selenium совместно с JUnit. Прелесть этого метода заключается в простоте создания тестов JUnit, поскольку мы записываем тесты Selenium в Selenium IDE , а затем просто экспортируем их в JUnit (хотя часто требуется небольшая настройка). Затем вы можете довольно легко интегрировать их в свою непрерывную интеграционную сборку и настроить работу для их запуска каждый час или в зависимости от того, что вам подходит. Что мне нравится в подходе JUnit, так это то, что все в моей команде уже хорошо знакомы с JUnit, поэтому не требуется никакой кривой обучения.

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

2 голосов
/ 24 апреля 2010

Ниже приведены некоторые из моих опытов.

У JUnit есть «правила», которые позволяют снизить количество кода шаблона.Например, правило может запустить контейнер сервлета перед тестом и остановить его после, создать и внедрить экземпляр Selenium и так далее.Это делает тесты намного более элегантными.

TestNG поддерживает группы (и их зависимости).Это чрезвычайно полезно для интеграционного тестирования - например, вы можете включить определенные группы в определенных средах.JUnit 4.8 вводит «категории», которые могут быть чем-то похожими.

Spring Test имеет очень хороший подход с «слушателями выполнения теста», которые могут «подготовить» ваши тестовые экземпляры.Это несколько похоже на правила JUnit.Spring Test также является тестом framework-agnostig, то есть ваши тесты будут выглядеть почти одинаково на JUnit или TestNG.Есть также «профили», которые похожи на группы TestNG.

Вот образец приложения JSF, протестированного Selenium, на основе TestNG.Также взгляните на мой пакет Hifaces20 Testing , может быть, вы найдете некоторые идеи полезными.

1 голос
/ 23 апреля 2010

Мы использовали JUnit для этой цели, и он работал довольно хорошо. Тест Selenium просто обрабатывается как тесты JUnit и выполняется на сервере селена.

Хотя тест Selenium кажется ближе к интеграционным тестам, и поэтому вам следует оценить testNG один раз, если он лучше соответствует вашим потребностям. TestNG дает больше контроля конфигурации. В нашем случае мы были довольны веб-драйвером и методом установки JUnit, поэтому мы не перешли на TestNG.

0 голосов
/ 25 апреля 2010

Только за поддержку одного из ответов
Yahoo адаптирует selenium + testng для автоматического тестирования веб-страниц.

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

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