2008-09-23 5 views
36

Каков наилучший способ протестировать мои приложения для веб-форм?Каков наилучший способ тестирования приложений веб-форм (ASP.NET)

Похоже, что люди любят Ватин и селен.

+1

Возможный дубликат [Что является лучшим способом проведения модульного тестирования для веб-страниц ASP.NET 2.0?] (Http://stackoverflow.com/questions/4363/what-is-the-best-way- to-do-unit-testing-for-asp-net-2-0-web-pages) – 2010-06-03 04:46:15

+1

Если этот вопрос закрыт как дубликат, отличные ответы должны быть объединены. – 2010-06-03 04:46:46

+0

Selenium 2 с WebForms становится немного утомительным. Я создал некоторые методы-обертки, которые делают его немного проще. http://www.foliotek.com/devblog/simplifying-c-selenium-2-tests-for-asp-net-webforms/ – Narnian 2011-10-20 18:36:11

ответ

18

UPDATE: Учитывая WatiN было застойными в течение более года, я бы направить всех, кто нуждается в проверках веб-интерфейса в стороне selenium, он находится в постоянном использовании & развития многих участников, и активно используется Google.

WatiN - лучшее, что я нашел. Она интегрируется в Visual Studio тестирование блока или NUnit & вы можете сделать почти все, что вам нужно в браузере (нажмите ссылки, отправлять формы, искать текст/изображения и т.д.)

Смотрите следующие вопросы для подобных ответов:

+0

Мне нужно научиться печатать быстрее ... хорошее предложение – JustinD 2008-09-23 01:05:41

+8

Разве это не интеграция/приемочное тестирование, поскольку оно работает в браузере? – 2010-01-14 11:47:22

+1

WatiN не является модульным инструментом тестирования – khebbie 2012-10-25 13:53:16

0

Я хотел бы использовать для ol like WaitIn:

«WatiN - это тестирование веб-приложений в .NET, и этот тестовый рекордер будет генерировать фрагменты источника, записывая ваши клики во встроенном браузере IE» (от Scott Hanselman's blog - который я нашел благодаря другому сообщению на StackOverflow

WaitIn website

15

это самый большой недостаток WebForms - это, по всем практическим причинам, непроверяема с точки зрения модульного тестирования контроллеров тестирования и т.д.

это одна из основных преимуществ структура MVC.

0

Я бы пошел с 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?

0

Вот обзор WatiN, Watir и Селен http://adamesterline.com/2007/04/23/watin-watir-and-selenium-reviewed/

Видимо Селен работал довольно медленно для тестера, но если вы заметите, что один из комментариев указывает, что это только в случае, из-за к его поддержке нескольких браузеров.

Однако есть версия CTP (Community Technology Preview) от WatiN, которая поддерживает как автоматизацию Internet Explorer, так и FireFox.

29

Просто интересно, почему вы бы назвали WatiN a единица инструмент для тестирования? В прошлый раз, когда я проверил, он провел интеграции тестов.

Лучшим способом было бы переместить весь код, который не зависит от HttpContext, к отдельной сборке и выполнять, как обычно, модульные тесты. Остальное можно проверить с помощью Ivonna. Она не проверяет поведение клиента, это то, где WatiN может быть полезным; однако, если вы хотите изолировать свои страницы или элементы управления, это ваш единственный выбор.