Я пишу тест для приложения rails, я использую site_prism, capybara, selenium и огурец. Как настроить драйвер Selenium для запуска моих тестов в браузере (firefox)?Как правильно проверить конфигурацию rails для запуска в браузере? (site_prism, cucumber, capybara, selenium webdriver)
Например, это одна из особенностей:
Given /^I navigate to Dashboard page$/ do
@page = DashboardPage.new # Dashboardpage is inheritor of SitePrism::Page
@page.load
@page.login_form.login_field.set 'admin'
@page.login_form.password_field.set 'test'
@page.login_form.signin_button.click
@page.title.include? 'Dashboard'
end
Это мой функции/поддержка/env.rb конфигурационный файл:
require 'cucumber/rails'
require 'capybara'
require 'capybara/cucumber'
require 'selenium-webdriver'
require 'site_prism'
# cypabara settings
Capybara.default_selector = :css
Capybara.ignore_hidden_elements = false
Capybara.default_wait_time = 20
Capybara.app_host = "http://0.0.0.0:9292"
# selenium setting
Capybara.register_driver :selenium do |app|
profile = Selenium::WebDriver::Firefox::Profile.new
Capybara::Selenium::Driver.new(app, :browser => :firefox, :profile => profile)
end
# enable/disable rescue
ActionController::Base.allow_rescue = false
# DB cleaner strategy
begin
DatabaseCleaner.strategy = :transaction
rescue NameError
raise "You need to add database_cleaner to your Gemfile to use it."
end
# JS strategy
Cucumber::Rails::Database.javascript_strategy = :truncation
Я знаю, с водосвинки я могу запустить сценарий браузер выглядит следующим образом:
Capybara.app_host = 'http://0.0.0.0:9292'
session = Capybara::Session.new(:selenium)
session.visit '/home'
session.driver.browser.quit
Но! Используя site_prism, у меня просто метод загрузки страницы #. Возможно, мне нужно интегрировать метод загрузки с сеансом capybara, но как я могу это сделать?
В основном, я делаю все, как описано в документации (cypabara wiki on github), но мои тесты выполняются без браузера. И я не понимаю, почему.
Пожалуйста, помогите. Благодарю.
Я просто забыл требовать «Капибара/DSL». Большое спасибо, @Helga Chekh – bmalets