Автоматизация тестов Selenium на сервере непрерывной интеграции TeamCity - PullRequest
29 голосов
/ 29 июня 2011

У меня есть решение Visual Studio, которое включает в себя тестовый проект с тестами Selenium.

(У меня уже есть компиляция, запущенная проверкой контроля версий (Mercurial))

Но я хочу иметь отдельную (ночную) конфигурацию сборки, которая запускает тесты Selenium, в идеале под MSTest.

Полагаю, для этого мне нужен Selenium Server? Если так, как лучше запустить его перед запуском тестов? Должен ли я сделать это из сценария MSBuild или использовать Шаг сборки из самой команды Team City? Нужно ли мне запускать Cassini \ WebDev.WebServer в первую очередь, чтобы можно было запускать следующее:

selenium = new DefaultSelenium("localhost", 4444, "*firefox", "http://localhost:49192/");

У меня установлен Build Server с TeamCity 6.5.1. У меня установлен VS2010.

Конечно, кто-то сделал это! Отчаянно нуждаюсь здесь в помощи, ребята. Если кто-то может предложить какие-либо примеры, это будет оценено.

Ответы [ 4 ]

16 голосов
/ 05 июля 2011

Я только собираюсь настроить тесты Selenium на нашем сервере TeamCity и все еще работаю в Google.Вот страницы, которые мне показались интересными (кроме вопроса StackOverflow):

Регрессионное тестирование для любого веб-приложения с TeamCity, Selenium и JUnit

Браузер Selenium UnitTesting из TeamCity

Таким образом, существует одно решение, которое преобразует html-файлы, записанные в Selenium IDE, в Java для запуска с JUnit в TeamCity, а другой подход - создание ваших тестовых скриптов в C #.

И в этой теме, «Выполнение тестов Selenium через Teamcity, можно ли это сделать?» описывает проблему при запуске Агента сборки как службы ... Я надеюсь, что смогу продолжить выполнениеагент как услуга.

7 голосов
/ 04 июля 2011

Мы используем Selenium для ночных тестов внешнего веб-сайта нашей компании.Для этого мы используем Selenium RC и динамически создаваемые тестовые наборы.

Наш процесс, который кажется более сложным, чем у Росса, выглядит следующим образом:

  1. Установка Selenium RC на сервере TeamCity
  2. Используйте Плагин Firefox IDE для создания тестов
  3. Создание веб-страницы, генерирующей HTML-файл набора тестов со ссылками на все тесты в определенной доступной в Интернете папке (например, http://www.mysite.com/selenium/generateTests.aspx)
  4. Создайте шаг сборки Powershell в TeamCity, запустив сценарий, который загружает комплект и соответствующие тесты на сервер сборки
  5. Добавьте функцию сборки «Обработка отчета в формате XML» для сканирования результатов тестирования.Это позволяет TeamCity рассказать вам о результатах теста.

В сценарии powershell:

  1. Выполнить среду выполнения Selenium RC с входными данными, предназначенными для загруженного набора тестов, и которыеURL, который должен быть базовым.[* 1]
  2. Используйте XSLT для преобразования вывода в формат NUnit [* 2]

[* 1] java -jar C:\Selenium\selenium-remote-control-1.0.3\selenium-server-1.0.3\selenium-server.jar -log C:\Selenium\www.mysite.com\selenium-log.log -userExtensions 'user-extensions.js' -firefoxProfileTemplate 'Selenium FireFox Profile' -htmlSuite *firefox http://www.mysite.com C:\Selenium\www.mysite.com\generated\GeneratedSuite.htm C:\Selenium\www.mysite.com\TestResults.html

[* 2] nxslt3 $seleniumXmlTestReportPath nunit.xslt -o $nunitReportPath baseUrl=$testBaseUrl

6 голосов
/ 01 июля 2011

Мы используем TeamCity для создания и тестирования нашего веб-приложения на C #.Мы постоянно запускаем Selenium Server, используя для запуска Java service .Тесты подключаются к localhost, как вы указали в своем вопросе.

Мы используем TeamCity «NAnt Runner» для запуска тестовых заданий и используем задачу NAnt <nunit2> для запуска тестов под управлением NUnit,Поскольку мы делаем это, NUnit находит и запускает любой открытый метод, аннотированный атрибутом [Test] - это очень простой, очень мощный инструмент.

Эта настройка очень хорошо работает для нас.

1 голос
/ 30 июня 2011

Интегрируйте его с NUnit или другим тестером.

...