Подтвердить что ты не робот

Автоматизированное тестирование веб-интерфейса

Каковы хорошие автоматизированные инструменты для веб-интерфейса пользователя?

Я хочу иметь возможность использовать его в мире .Net, но он не должен записываться в .net.

Такие функции, как режим записи, интеграция в процесс сборки\непрерывная интеграция были бы приятными.

Я собираюсь посмотреть:

Есть ли другие, на что я должен смотреть?

4b9b3361

Ответ 1

Я окончательно рекомендую Selenium, вы можете использовать его из .NET, поддерживает разные браузеры, работает в автоматических сборках и процессах CI (мы используем его из CCNet). Код стабилен. У этого есть несколько причуд, но ведь все они делают.

Какой бы инструмент вы ни выбрали, я рекомендую сделать свой собственный класс факс-класса (ов) вокруг него. Фасад должен быть спроектирован так, чтобы удовлетворить ваши конкретные потребности в тестировании, не подвергая слишком много деталей API-интерфейсу тестирования. Это упростит запись и обслуживание тестового кода.

UPDATE: если вы используете представление ASP.NET в своем приложении, у вас могут возникнуть проблемы с использованием чистого тестового инструмента HTTP. Это где браузер-контроллеры (например, Selenium) намного лучше.

Ответ 2

WatiN

Автоматизирует FF и IE

[Test] 
public void SearchForWatiNOnGoogle()
{
 using (IE ie = new IE("http://www.google.com"))
 {
  ie.TextField(Find.ByName("q")).TypeText("WatiN");
  ie.Button(Find.ByName("btnG")).Click();

  Assert.IsTrue(ie.ContainsText("WatiN"));
 }
}

http://watin.sourceforge.net/

Ответ 3

Watin довольно неустойчив, чтобы использовать его в серьезных проектах. Он часто терпит неудачу с непредвиденными причинами, такими как "EI занят" или что-то вроде "Ошибка с COM-объектом". Селен намного стабильнее, и у него уже много вспомогательных инструментов. Например, Selenium GRID - это решение, которое позволяет значительно сократить время выполнения тестов. (Наши тесты дыма на Ватине занимают 6 часов).

Ответ 5

В настоящее время в моей работе я использую QTP и до сих пор он может обрабатывать практически все, что мы бросаем на него как на пользовательский интерфейс, так и на него имеет специальный режим тестирования не-gui-сервисов, позволяющий нам проверять оба и помогать нам сужаться, когда возникают некоторые проблемы при изменении системы. Это, на мой взгляд, очень настраиваемое, а включение vbscript в качестве языка позволяет интегрировать с множеством и множеством вещей в окнах, чтобы вы могли делать все, что угодно! Например, мы используем его для управления объектом excel com, чтобы сделать персонализированные отчеты Excel об успехах и сбоях, поэтому формат результатов совпадает с тем, что тест выполнялся вручную, а также в другом проекте использовался объект adodb для проверки того, что когда страница отправляет информацию в базу данных о том, что база данных содержит правильные данные для этой записи!

Что касается интеграции в процесс сборки, я не пробовал это сам, но можно запустить qtp и тест из файла vbs, поэтому я бы предположил, что это должно быть довольно trvial, поскольку инструменты ms имеют тенденцию разрешать вам запускать файлы vbs довольно легко от большинства инструментов.

Я бы рекомендовал это любому, кто предположил, что вы можете заставить кого-то купить лицензию!

Ответ 6

Вы также можете попробовать VSTT - http://blogs.msdn.com/b/slumley/archive/2009/05/28/vsts-2010-feature-enhancements-for-web-test-playback-ui.aspx

Telerik Test Tools - http://www.telerik.com/automated-testing-tools.aspx

Visual Studio UI Test Extensibility-Scenarios и Руководящие принципы - http://blogs.msdn.com/b/mathew_aniyan/archive/2011/03/28/visual-studio-ui-test-extensibility-scenarios-amp-guiding-principles.aspx

Веб-тест VSTS Step-by-Step Primer - http://blogs.msdn.com/b/jimmymay/archive/2009/02/23/vsts-web-test-step-by-step-primer-7-minute-video-by-microsoft-a-c-e-performance-engineer-chris-lundquist-with-copious-notes-screen-shots-from-your-humble-correspondent.aspx

Ответ 7

Используя несколько различных автоматизированных тестовых решений (TestComplete, QTP и т.д.), я должен проголосовать за Telerik + Visual Studio. Telerik имеет отличные форумы поддержки и очень совместим с любой темой тестирования, с которой вы сталкиваетесь. Наши разработчики помещают уникальные идентификаторы в свой HTML-код, поэтому наши скрипты не нужно переписывать даже с довольно резкими репликаторами UI. Это определенно сложнее, чем запись и воспроизведение, но после того, как у вас есть свои уникальные идентификаторы, код автоматизации требует практически никакого обслуживания.

Ответ 8

Попробуйте httpunit

Ответ 9

В зависимости от того, чего вы хотели бы достичь.

Вы можете использовать веб-тест, встроенный в Visual Studio Tester Edition. Это довольно удобно и легко автоматизировать. Вы можете использовать внешние данные в качестве тестового источника данных и хорошо сочетается с VS.

Существует также тестовый инструмент от Automated QA (забыл название), который выглядит неплохо, но дорого.

И есть Селен. Это тот, который мы используем в Symantec. Самое большое преимущество в том, что на самом деле он использует браузер, который вы хотите проверить. VS имитирует браузер, изменяя параметры http-запроса только для того, чтобы вы не смогли проверить свой сайт на совместимость с несколькими браузерами. Selenium, с другой стороны, использует браузер и автоматизирует его, чтобы вы могли протестировать свой сайт в IE, Firefox и т.д. Он также может быть интегрирован с VS модульными тестами, чтобы вы могли видеть результаты тестирования в VS.

Поэтому я бы порекомендовал Selenium или VS.

Ответ 10

Я использовал Selenium. Функции были хорошими, и они были полезны, но это было плохо.

IDE часто записывала события некорректно (так что тесты нужно было бы вручную изменить), и тестовые файлы изредка стали совершенно непригодными без видимых причин, а это означало, что их нужно было бы воссоздать снова и снова. Также развитие на Selenium IDE, похоже, прекратилось; на какое-то время не было исправлений и исправлений ошибок, и сообщения об ошибках, похоже, остались незамеченными.

Молибден - это альтернатива, построенная на Селене, которая стоит изучить.

http://www.molyb.org/

Ответ 11

Просто, чтобы выбросить еще один вариант (из которого я не пробовал, но я действительно люблю Telerik), это Telerik new WebUI Testing Studio. Я также повторю голоса Селена.

Ответ 13

Если вы ищете простой, кросс-браузерный инструмент с записью и воспроизведением, многопоточным воспроизведением, интеграцией с процессами сборки, мощными сценариями, хорошей отчетностью и отличной поддержкой, перейдите Sahi. Тестерам/разработчикам будет намного легче учиться и поддерживать.

Ответ 14

вы можете принять во внимание около Selenium и Rational Functional Tester! знакомы ли вы с кодированием в .Net или Java и хотите просто поиграть с записью и воспроизведением или хотите создать более сложные программные тесты, я бы рекомендовал его.

Ответ 15

WebDriver - это еще одна возможность: http://code.google.com/p/webdriver

Они работают над оберткой .NET, которая может быть вам интересна.

Ответ 16

Попробуйте QEngine. Он имеет все функции QTP.

Ответ 17

Вы можете посмотреть RIATest для кросс-платформенного кросс-браузерного тестирования веб-приложений.

Он работает на Windows и Mac, поддерживаемые браузеры - Firefox, IE и Chrome. Автоматические тестовые скрипты, написанные на одной платформе/браузере, можно запускать со всеми другими поддерживаемыми платформами/браузерами.

Он имеет функции, которые вы хотите: режим записи взаимодействия с пользователем и интеграция с серверами CI (результаты выводятся в формате JUnit, который может быть использован серверами CI, такими как Hudson).

(Отказ от ответственности: я член команды RIATest).