Add Selenium support file for specs and include headless for Vagrant
Signed-off-by: Sebastian Serth <Sebastian.Serth@student.hpi.de>
This commit is contained in:
3
Gemfile
3
Gemfile
@ -66,12 +66,13 @@ end
|
||||
group :test do
|
||||
gem 'autotest-rails'
|
||||
gem 'capybara'
|
||||
gem 'capybara-selenium'
|
||||
gem 'headless'
|
||||
gem 'codeclimate-test-reporter', require: false
|
||||
gem 'database_cleaner'
|
||||
gem 'nyan-cat-formatter'
|
||||
gem 'rake'
|
||||
gem 'rspec-autotest'
|
||||
gem 'rspec-rails'
|
||||
gem 'selenium-webdriver'
|
||||
gem 'simplecov', require: false
|
||||
end
|
||||
|
@ -91,6 +91,9 @@ GEM
|
||||
rack (>= 1.0.0)
|
||||
rack-test (>= 0.5.4)
|
||||
xpath (>= 2.0, < 4.0)
|
||||
capybara-selenium (0.0.6)
|
||||
capybara
|
||||
selenium-webdriver
|
||||
carrierwave (1.2.2)
|
||||
activemodel (>= 4.0.0)
|
||||
activesupport (>= 4.0.0)
|
||||
@ -144,6 +147,7 @@ GEM
|
||||
forgery (0.7.0)
|
||||
globalid (0.4.1)
|
||||
activesupport (>= 4.2.0)
|
||||
headless (2.3.1)
|
||||
highline (1.7.10)
|
||||
http-cookie (1.0.3)
|
||||
domain_name (~> 0.5)
|
||||
@ -404,6 +408,7 @@ DEPENDENCIES
|
||||
capistrano-upload-config
|
||||
capistrano3-puma
|
||||
capybara
|
||||
capybara-selenium
|
||||
carrierwave
|
||||
codeclimate-test-reporter
|
||||
coffee-rails
|
||||
@ -416,6 +421,7 @@ DEPENDENCIES
|
||||
factory_bot_rails
|
||||
faye-websocket
|
||||
forgery
|
||||
headless
|
||||
highline
|
||||
ims-lti (= 1.1.10)
|
||||
jbuilder
|
||||
@ -444,7 +450,6 @@ DEPENDENCIES
|
||||
rubyzip
|
||||
sass-rails
|
||||
sdoc
|
||||
selenium-webdriver
|
||||
simplecov
|
||||
slim
|
||||
sorcery
|
||||
|
21
spec/support/selenium.rb
Normal file
21
spec/support/selenium.rb
Normal file
@ -0,0 +1,21 @@
|
||||
require 'capybara/rspec'
|
||||
require 'selenium/webdriver'
|
||||
|
||||
if ENV['HEADLESS_TEST'] == 'true' || ENV['USER'] == 'vagrant'
|
||||
require 'headless'
|
||||
|
||||
headless = Headless.new
|
||||
headless.start
|
||||
end
|
||||
|
||||
Capybara.register_driver :selenium do |app|
|
||||
profile = Selenium::WebDriver::Firefox::Profile.new
|
||||
profile['intl.accept_languages'] = 'en'
|
||||
capabilities = Selenium::WebDriver::Remote::Capabilities.firefox(elementScrollBehavior: 1)
|
||||
options = Selenium::WebDriver::Firefox::Options.new
|
||||
options.profile = profile
|
||||
driver = Capybara::Selenium::Driver.new(app, browser: :firefox, desired_capabilities: capabilities, options: options)
|
||||
driver.browser.manage.window.resize_to(1280, 960)
|
||||
driver
|
||||
end
|
||||
Capybara.javascript_driver = :selenium
|
Reference in New Issue
Block a user