Настройка тестирования веб-приложений Jenkins Continuous Integration и Selenium - PullRequest
2 голосов
/ 18 августа 2011

Я пытаюсь настроить Jenkins для запуска наших функций Cucumber.Я немного растерялся, когда дело доходит до настройки этого.Вот некоторые подробности нашей настройки:

  • Особенности Cucumber с шагами, написанными на Ruby и PHP (с использованием Cuke4PHP)
  • PHP-приложение (которое часто ссылается на другие PHP-приложения)
  • Использование Capybara и Selenium для тренировки Javascript

В средах разработки, поскольку нашим приложениям необходимо связываться друг с другом, мы настраиваем apache vhosts с доменами, такими как http://developername.dev.exampleapp.com

Как мне настроить эту среду Jenkins для запуска наших тестов на огурцы?

Похоже, вы захотите настроить виртуальную машину, используя VirtualBox или что-то подобное, чтобы настроить среду, аналогичную вашей производственной среде, и обслуживать ее.проект с этого виртуального хоста.Но тогда вы запускаете тесты вне виртуальной машины?Или вы запускаете тесты на виртуальной машине и отчитываетесь перед Дженкинсом?Вы настраиваете виртуальные хосты при подготовке виртуальной машины?Как вы настраиваете свой проект для использования изолированной базы данных?Как вы запускаете свои функции параллельно, чтобы они не работали вечно?Если бы кто-то мог пролить свет, я был бы очень признателен.

Ответы [ 2 ]

1 голос
/ 30 июля 2012

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

Для настройки среды приложений для сборки вы можете использовать Vagrant для настройки среды приложений.И назначьте ip для вашего Vm, который может самостоятельно обрабатывать Virtualhost для этого ip.

Для выполнения тестов ваши тесты селена / приемки должны запускаться с вашего хоста / сборки, учитывая архитектуру клиента и сервера для вас.приложения, как указано Amber.Но модульное тестирование должно выполняться на самой виртуальной машине.Я понятия не имею о параллельной работе функций.Но поделюсь своим опытом, как только мы внедрим весь процесс в CI.

0 голосов
/ 18 августа 2011

Ваши клиенты запускают свои браузеры на ваших производственных серверах? (Надеюсь, нет - надеюсь, они запускают их на своих компьютерах!) Таким образом:

Серверная виртуальная машина является эквивалентом вашего рабочего сервера, поэтому тесты не должны запускаться - тесты Selenium запускаются в браузере. В зависимости от того, сколько браузеров / какие настройки браузера вы хотите протестировать, вы можете настроить отдельные виртуальные машины с комбинациями ОС и браузеров для запуска тестов или запустить их вне виртуальной машины при стандартной установке браузера.

...