Ответ 1
Если вы используете селен, вы должны запустить веб-сервер в тестовой среде. Вы можете запустить его на другом порту от разработки. Затем вы должны настроить Capybara для использования этого порта:
Capybara.run_server = true #Whether start server when testing
Capybara.server_port = 8200
Capybara.default_selector = :css #:xpath #default selector , you can change to :css
Capybara.default_wait_time = 5 #When we testing AJAX, we can set a default wait time
Capybara.ignore_hidden_elements = false #Ignore hidden elements when testing, make helpful when you hide or show elements using javascript
Capybara.javascript_driver = :selenium #default driver when you using @javascript tag
# Other option is:
# Capybara.javascript_driver = :webkit
Если вы не хотите запускать сервер каждый раз, прежде чем запускать сценарии огурца, я предлагаю вам использовать драйвер capybara webkit. Все сценарии javascript будут работать в фоновом режиме. Он также будет работать на сервере непрерывной интеграции.
Если вы находитесь на платформе Linux, capybara-webkit требует запуска X-сервера. Для его настройки вы можете использовать headless gem. Вот безголовая конфигурация для огурца:
# place code below in features/support/headless.rb
if Capybara.current_driver == :webkit
require 'headless'
headless = Headless.new
headless.start
at_exit do
headless.destroy
end
end