Существуют ли какие-либо фреймворки веб-автоматизации.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, для фактического запуска модульных тестов.

Другие вопросы по тегам