Каков наилучший способ протестировать мои веб-формы?
Похоже, люди любят Ватина и селена.
Каков наилучший способ протестировать мои веб-формы?
Похоже, люди любят Ватина и селена.
ОБНОВЛЕНИЕ. Учитывая, что WatiN уже более года находится в состоянии застоя, я бы направил любого, кто нуждается в тестах для веб-поиска в selenium, он постоянно используется и развивается многими участниками и активно используется Google.
WatiN - лучшее, что я нашел. Он интегрируется в модульное тестирование Visual Studio или nunit, и вы можете делать практически все, что вам нужно в браузере (нажмите ссылки, отправьте формы, найдите текст/изображения и т.д.)
Для получения аналогичных ответов см. следующие вопросы:
Просто интересно, почему вы бы назвали WatiN инструментом тестирования unit? В прошлый раз, когда я проверил, он провел тесты интеграции.
Лучшим способом было бы переместить весь код, который не зависит от HttpContext, к отдельной сборке и запускать модульные тесты, как обычно. Остальное можно проверить с помощью Ivonna. Она не проверяет поведение клиента, что WatiN может быть полезным; однако, если вы хотите изолировать свои страницы или элементы управления, она будет единственным выбором.
Это самый большой недостаток Webforms - по всем практическим причинам он не тестируется с точки зрения модульного тестирования тестовых контроллеров и т.д.
Это одно из основных преимуществ структуры MVC.
Я предпочитаю подход отделить логику бизнеса от кода пользовательского интерфейса. Здесь статья, описывающая unit test дружественный шаблон (Model-View-Presenter)
http://www.unit-testing.net/CurrentArticle/How-To-Use-Model-View-Presenter-With-AspNet-WebForms.html
Я бы использовал инструмент WaitIn:
"WatiN - это тестирование веб-приложений в .NET, и этот тестовый рекордер будет генерировать фрагменты источника для вас, записывая ваши клики во встроенный браузер IE" (из Блог Scott Hanselman - который я нашел благодаря другому сообщению в StackOverflow
Я бы пошел с WATIR (Тестирование веб-приложений в Ruby) - http://wtr.rubyforge.org/. Мы (Acsys Interactive) используем около года, и инструмент замечательный.
Я разработал простую оболочку в .NET, чтобы я мог выполнять свои сценарии WATIR из модульных тестов. Рамка невероятна, и у вас есть полная мощность Ruby позади вас. Там поддерживается Firefox и Safari (проект FireWatir).
Он очень похож на WATIN (на самом деле я думаю, что WATIN был вдохновлен WATIR), но я считаю, что сообщество WATIR намного больше, чем WATIN.
Там есть тестовые рекордеры, которые вы можете использовать, и множество учебных пособий.
Это действительно ваш выбор. Если вы чувствуете, что тесты должны быть в .NET, и вы не хотите поддерживать какой-либо другой язык, тогда ваш выбор - WATIN. С другой стороны, если вы хотите попробовать веселый и довольно мощный язык сценариев (то, что Ruby), перейдите на WATIR.
Вопрос ребятам WATIN, поддерживает ли он FireFox/Safari?
Вот обзор Ватина, Ватира и Селена http://adamesterline.com/2007/04/23/watin-watir-and-selenium-reviewed/
Очевидно, Selenium работал довольно медленно для тестера, но если вы заметите, как заметил один из комментариев, это происходит только из-за поддержки нескольких браузеров.
Однако существует версия CTP (Community Technology Preview) от WatiN, которая поддерживает как автоматизацию Internet Explorer, так и FireFox.
У меня был большой опыт использования Selenium. Веб-тесты могут быть очень хрупкими, но вот статья из моего блога, где я говорю о том, как сделать тесты менее хрупкими. http://www.unit-testing.net/CurrentArticle/How-To-Make-Web-Tests-Less-Fragile.html