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
|
group :test do
|
||||||
gem 'autotest-rails'
|
gem 'autotest-rails'
|
||||||
gem 'capybara'
|
gem 'capybara'
|
||||||
|
gem 'capybara-selenium'
|
||||||
|
gem 'headless'
|
||||||
gem 'codeclimate-test-reporter', require: false
|
gem 'codeclimate-test-reporter', require: false
|
||||||
gem 'database_cleaner'
|
gem 'database_cleaner'
|
||||||
gem 'nyan-cat-formatter'
|
gem 'nyan-cat-formatter'
|
||||||
gem 'rake'
|
gem 'rake'
|
||||||
gem 'rspec-autotest'
|
gem 'rspec-autotest'
|
||||||
gem 'rspec-rails'
|
gem 'rspec-rails'
|
||||||
gem 'selenium-webdriver'
|
|
||||||
gem 'simplecov', require: false
|
gem 'simplecov', require: false
|
||||||
end
|
end
|
||||||
|
@ -91,6 +91,9 @@ GEM
|
|||||||
rack (>= 1.0.0)
|
rack (>= 1.0.0)
|
||||||
rack-test (>= 0.5.4)
|
rack-test (>= 0.5.4)
|
||||||
xpath (>= 2.0, < 4.0)
|
xpath (>= 2.0, < 4.0)
|
||||||
|
capybara-selenium (0.0.6)
|
||||||
|
capybara
|
||||||
|
selenium-webdriver
|
||||||
carrierwave (1.2.2)
|
carrierwave (1.2.2)
|
||||||
activemodel (>= 4.0.0)
|
activemodel (>= 4.0.0)
|
||||||
activesupport (>= 4.0.0)
|
activesupport (>= 4.0.0)
|
||||||
@ -144,6 +147,7 @@ GEM
|
|||||||
forgery (0.7.0)
|
forgery (0.7.0)
|
||||||
globalid (0.4.1)
|
globalid (0.4.1)
|
||||||
activesupport (>= 4.2.0)
|
activesupport (>= 4.2.0)
|
||||||
|
headless (2.3.1)
|
||||||
highline (1.7.10)
|
highline (1.7.10)
|
||||||
http-cookie (1.0.3)
|
http-cookie (1.0.3)
|
||||||
domain_name (~> 0.5)
|
domain_name (~> 0.5)
|
||||||
@ -404,6 +408,7 @@ DEPENDENCIES
|
|||||||
capistrano-upload-config
|
capistrano-upload-config
|
||||||
capistrano3-puma
|
capistrano3-puma
|
||||||
capybara
|
capybara
|
||||||
|
capybara-selenium
|
||||||
carrierwave
|
carrierwave
|
||||||
codeclimate-test-reporter
|
codeclimate-test-reporter
|
||||||
coffee-rails
|
coffee-rails
|
||||||
@ -416,6 +421,7 @@ DEPENDENCIES
|
|||||||
factory_bot_rails
|
factory_bot_rails
|
||||||
faye-websocket
|
faye-websocket
|
||||||
forgery
|
forgery
|
||||||
|
headless
|
||||||
highline
|
highline
|
||||||
ims-lti (= 1.1.10)
|
ims-lti (= 1.1.10)
|
||||||
jbuilder
|
jbuilder
|
||||||
@ -444,7 +450,6 @@ DEPENDENCIES
|
|||||||
rubyzip
|
rubyzip
|
||||||
sass-rails
|
sass-rails
|
||||||
sdoc
|
sdoc
|
||||||
selenium-webdriver
|
|
||||||
simplecov
|
simplecov
|
||||||
slim
|
slim
|
||||||
sorcery
|
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