Как я могу получить теги Capybara @Javascript правильно выполненные в огурцерете на рельсы 3 проекта?
-
28-09-2019 - |
Вопрос
Я поменял Webrat для Capybara на новых рельсах 3 проекта. Я побежал через большой пост Тима Райли на нем здесь ( http://openmonkey.com/articles/2010/04/javascript-testing-with-cucumber-capybara ), а также клонировал свой репозиторий, выполнил примерную функцию огурца и увидел окно браузера открытым. Таким образом, весь огурец, капятбара, стек селена, кажется, работает нормально в этом случае.
Однако, если я создаю новые рельсы 3 проекта, пройдите через настройку аналогичного примера проекта, и аннотировать сценарий с помощью @JavaScript окно браузера не огонь, а сценарий огурца просто терпит неудачу с обычным Command failed with status (1) event
(который, в случае сбоя или в ожидании шагов, огурцы триггеры по дизайну в пользу инструментов CI).
Помимо функциональности @Javascript, предоставленной Capybara, все другие функции работают нормально.
Я упускаю что-то невероятно очевидное? Есть ли путь для новичка BDD, чтобы выглядеть глубже в проблемах (трассировка стека просто показывает стандартную ошибку граблей, когда огурец не удается).
- RVM 1.9.2-Head
- GEM 'Rails', '3.0.0.rc'
- GEM 'Огурец
- Gem 'Cucumber-Rails'
- GEM 'CAPYBARA'
- GEM 'COULERITY'
- Celerity Gem,: Требуется => Ниль
Решение
Вопрос на самом деле с огурцовыми рельсами и отсутствующей зависимостью на баз данныхCleaner: http://github.com/aslakhellesoy/cucumbumber-rails/issuesoSue/36.
Проблема проявляется при добавлении тега @javascript на функцию огурца. По умолчанию варианты огурца подавляют предупреждения, которые предупредили бы меня к факту. По обновлению config/cucumber.yml
к:
std_opts = "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} --strict --tags ~@wip"
Ошибка отображается при запуске огурца: uninitialized constant DatabaseCleaner (NameError)
Быстрое исправление в этом случае для добавления gem 'database_cleaner'
к проекту Gemfile
.
Другие советы
Capybara «ленивый» в том, что он откроет окно браузера сначала, когда он на самом деле необходим. Если вы на самом деле делаете что-то, что потребуется браузера, Capybara не откроется.
Может быть, вы не установили мольгрел-драгоценный камень. Автоматизация браузера как-то не работает с Webrick, и я испытал то же самое тихое, что вы не можете описать здесь.
Добавление
GEM 'MONGREL', '> = 1.2.0.beta.1'
на мой драгоценный камень решил его.
Я сделал пример приложения о том, как настроить: github.com/lailsonbm/contact_manager_app/