Предполагая, что под роботом вы подразумеваете java.awt.Robot
, чем, к сожалению, он не поддерживает режим без головы. Согласно Robot()
конструктору javadoc:
AWTException - if the platform configuration does not allow low-level
input control. This exception is always thrown when
GraphicsEnvironment.isHeadless() returns true
Либо прекратите использовать java.awt.Robot
, либо прекратите использовать безголовую среду.
Для фактического поблочного тестирования, не тестируя UI, необходимо просто протестировать функции в модели. Большая часть Вашей функциональности должна быть там так или иначе.
Вы могли бы хотеть взглянуть на Селен для тестирования UI Вашего сайта. Это может записать Ваши действия и воспроизвести их, или можно отредактировать сценарии непосредственно.
(источник: seleniumhq.org )
Вы могли бы хотеть проверить PHPUnit http://www.phpunit.de/manual/current/en/
, я начал использовать его на своих проектах PHP, и очень легко работать с и очень мощный. В частности, изучите и используйте насмешки: http://www.phpunit.de/manual/3.0/en/mock-objects.html
Насмешка особенно важна, когда приложения поблочного тестирования, которые делают операции базы данных.
Вы попробовали Fitnesse?
Это помогает на создании Приемочных испытаний. Они специально полезны для веб-сайтов, которые выполнение этого вида тестов является болью.
существует несколько видео от unclebob в веб-странице также. Хорошая вещь состоит в том, что Fitnesse не ограничивается для тестирования веб-сайта, таким образом, Ваше знание об использовании его может использоваться с другими приложениями также.
проектом, я продолжаю работать, является Настольное приложение, записанное в C++, который использует тесты Fitnesse.
, Но если Вы имели в виду поблочное тестирование модели (который я думаю, что Вы не сделали), они могут быть, создают использование phpunit lib. Я думаю, что платформа ЗЕНДА имеет подобный lib для этого.
Одна из лучших идей, которые я услышал о до тестирования веб-приложений, идет, должен был создать сценарий, который пробежится через все страницы в сайте и проверит их на различия от предыдущего сканирования, позволяя Вам принять изменения и зафиксировать регрессии.
Вообще говоря, автоматическое тестирование приложений GUI (веб-сайты являются приложениями для GUI) является трудным и обычно ненужным. Модульные тесты работают лучше всего с простыми библиотеками.
Я использую Canoo WebTest. Это - лучшая платформа модульного теста бесплатного веб-сайта там. Это совершенно scriptable с XML и не требует никакого браузера, таким образом, это может работать с сервера сборки.
Мы изменили Официанта (Ruby). Это воспроизводит "сценарии" URL и Формы, Заполняющейся к IE, и мы добавили сценарий "команда" для получения Снимка экрана; изображение снимка экрана сравнено с Known-Good-Image (т.е. Основное Изображение) и если то изображение отличается, это зарегистрировано (в основном, Веб-страница таких результатов подготовлена), и "человек" делает обзор Ведущего устройства / Тестовое изображение. Очевидно, существует два результата в той точке - "Различие, является намеренным" или "Существует неправильное изменение". Прежде всего Основное изображение заменяется Новым Изображением; во втором мы идем, исправляют ошибку, и изменение будет включено в следующий тестовый прогон
Взгляните на TOAST . Он построен специально для CodeIgniter. Он использует инфраструктуру CI, поэтому вы можете запускать все тестовые тесты через браузер, а результаты отображаются обратно в виде веб-страницы (HTML). Его очень просто использовать.
Я предлагаю вам также протестировать свои контроллеры. Модель для тестирования в порядке, но модель - это просто хранилище БД.