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

Автоматизация тестов Selenium на сервере непрерывной интеграции TeamCity

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

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

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

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

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

?

У меня есть сервер сборки с установленным TeamCity 6.5.1. У меня установлен VS2010.

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

4b9b3361

Ответ 1

Я собираюсь настроить тесты Selenium на нашем сервере TeamCity и до сих пор Googling. Это страницы, которые я нашел интересными (кроме вашего вопроса StackOverflow):

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

Selenium browser UnitTesting из TeamCity

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

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

Ответ 2

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

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

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

В powershell script:

  • Выполнение среды исполнения Selenium RC с входами, предназначенными для загруженного набора тестов, и URL-адрес, который должен быть базовым URL-адресом. [* 1]
  • Используйте 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

Ответ 3

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

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

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

Ответ 4

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