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:
Sebastian Serth
2018-02-26 09:21:30 +01:00
parent 84bd85703d
commit 302f3a4896
3 changed files with 29 additions and 2 deletions

View File

@ -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

View File

@ -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
View 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