Существуют ли какие-либо фреймворки веб-автоматизации.NET, которые поддерживают выполнение тестов без головы?
Похож на htmlunit, но для использования с C#. Я видел, что вы можете использовать htmlunit с.NET через IKVM, но я бы хотел нативное решение, если это вообще возможно.
Цель состоит в том, чтобы добавить тесты пользовательского интерфейса в наши существующие (xUnit.net) тесты, выполняемые на сервере CI. Я хотел бы иметь возможность запускать тесты пользовательского интерфейса в памяти (так как я не хочу открывать экземпляры браузера на машине, над которой у меня нет контроля), без каких-либо зависимостей от других машин (как было бы необходимо, если бы я использовал Selenium RC, например).
Кто-нибудь знает способ достижения этого?
ОБНОВЛЕНИЕ: Selenium 2 теперь предоставляет HtmlUnit в качестве одного из поддерживаемых браузеров. Любой, кто хочет использовать HtmlUnit без использования IKVM, должен взглянуть на Selenium 2. Я обновил свой ответ ниже, чтобы отразить это.
2 ответа
После экспериментов с несколькими фреймворками кажется, что использование Selenium RC - лучшее доступное решение. Несмотря на то, что требуется решение, не зависящее от внешних компьютеров, кажется, что возможность запуска тестов на нескольких версиях одного и того же браузера - это компромисс.
ОБНОВЛЕНИЕ: выполнение безголового теста для.NET теперь также возможно с использованием Selenium 2. Новая кодовая база (слитая с WebDriver) предоставляет HtmlUnit в качестве одного из поддерживаемых браузеров.
Возможно WatiN может помочь?
Фреймворк не безголовый, потому что он все еще использует объект браузера IE (с FF в разработке). Однако все эти объекты браузера должны быть созданы в процессе, то есть они будут очищены после завершения процесса сборки CI, особенно если процесс сборки CI порождает отдельный процесс, такой как NAnt, для фактического запуска модульных тестов.