«Искусство тестирования» для автоматического тестирования на C # в CruiseControl.NET - PullRequest
3 голосов
/ 07 апреля 2009

В настоящее время мы используем SWEA (http://webiussoft.com) для запуска автоматических тестов сайта во время наших ночных сборок CruiseControl.NET.

Мы ищем более надежное решение и ищем «Искусство испытания» (http://www.artoftest.com) решение.

Кто-нибудь имел опыт работы с этим инструментом?

Самое главное, насколько легко поддерживать тесты с помощью этого инструмента?

Или есть какие-либо другие решения C # / NUnit / CruiseContol.NET, которые вы бы порекомендовали?

Ответы [ 4 ]

2 голосов
/ 10 апреля 2009

Я работаю на ArtOfTest. За последние пару дней я исследовал, что нужно для того, чтобы наша платформа хорошо работала с CruiseControl.NET. Основным ключом является запуск сервера CruiseControl.NET в режиме консоли (а не в качестве службы Windows). Причина этого заключается в том, чтобы позволить фазе запуска модульного теста иметь возможность напрямую взаимодействовать с рабочим столом, что требуется для тестирования пользовательского интерфейса. Как правило, коду, работающему в службе Windows, не разрешается взаимодействовать с рабочим столом (который требуется нашим), и поэтому при попытке он не будет работать.

TeamCity также является еще одним хорошим CI-сервером. Я смотрю на это прямо сейчас и понял это в основном.

Если у вас есть какие-либо более конкретные вопросы, не стесняйтесь обращаться к нам по адресу contact@artoftest.com. Я также буду следить за этой темой.

WatiN не плохо. К сожалению, в нем отсутствует какая-либо интеграция с VisualStudio, а также отсутствуют многие другие функции, которые мы предлагаем.

Thx, Cody

1 голос
/ 23 мая 2009

Ссылка ниже - документация о том, как заставить WebAii работать со всеми популярными CI-серверами (CC, TeamCity и TFS Build)

http://www.artoftest.com/support/webaii/topicsindex.aspx?topic=cioverview

0 голосов
/ 11 апреля 2009

Похоже, два больших из них - это Watin & Selenium. Я не работал с Selenium, так что никакого мнения нет.

Я использовал Watin изрядное количество, и это довольно хорошо, но есть много проблем. Может быть трудно иметь дело с сильно изменяющимся временем отклика из браузера ... установка длительности тайм-аута и т. П.

Последняя версия Watin поддерживает IE & Firefox, что довольно круто.

Что касается обслуживания тестов, то, по моему опыту, самое важное - полностью отделить код "тестового драйвера" от "кода переноса страниц". Под «тестовым драйвером» я имею в виду реальную тестовую логику (NUnit или аналогичную), которая может иметь код, который выглядит следующим образом:

...

var wrapper = new SearchPageWrapper(browser);
wrapper.ClickAdvancedSearch();
wrapper.EnterSearchPhrase("dog");
wrapper.SetSortBy(SortType.Date);
wrapper.ExecuteSearch();

... упаковщик страниц предоставляет этот логический интерфейс самой странице, скрывая детали реализации (которые могут быть сложными и часто изменяться в зависимости от макета страницы):

public class SearchPageWrapper {
  ...
  public void ClickAdvancedSearch() {
    _browser.Buttons("advSearch").Click();
  }

  public void EnterSearchPhrase(string phrase) {
    _browser.TextBox(Find.ByName("phrase")).TypeText(phrase);
  }
  ... etc ...
}

Таким образом, вы создаете библиотеку оболочек, которая облегчает добавление новых тестовых случаев, а также облегчает работу с изменениями макета, которые влияют на то, как Ватин находит и взаимодействует с элементами на страницах.

0 голосов
/ 08 апреля 2009

Другой вариант может быть WatiN .

...