Искусство тестирования для автоматизированного веб-тестирования C# в CruiseControl.NET

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

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

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

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

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


person Bigwave    schedule 07.04.2009    source источник


Ответы (4)


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

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

Если у вас есть какие-либо другие более конкретные вопросы, не стесняйтесь обращаться к нам по адресу [email protected]. Я тоже буду следить за этой темой.

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

Спасибо, Коди

person sircody    schedule 09.04.2009
comment
Во-первых, запуск его как консоли не должен быть ответом. Дело в том, что лучший сценарий — запустить тест на другой машине, управляемой CruiseControl.NET в качестве службы на сервере сборки. Сервер сборки не должен этого делать. - person Alex; 10.04.2009
comment
Как насчет того, чтобы мы не называли его бычьим сервером, а вместо этого называли бы его сервером непрерывной интеграции... теперь все в порядке? - person Ryu; 03.10.2009

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

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

person Faris    schedule 22.05.2009

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

person pero    schedule 07.04.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 ...
}

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

person user31934    schedule 11.04.2009
comment
вместо того, чтобы использовать оболочку, как указано выше, вы должны использовать шаблон Watin Page watinandmore. blogspot.com/2009/06/introduction-page-class.html - person Kev Hunter; 29.09.2011