summaryrefslogtreecommitdiffstats
path: root/tests/acceptance/features/support
diff options
context:
space:
mode:
Diffstat (limited to 'tests/acceptance/features/support')
-rw-r--r--tests/acceptance/features/support/env.rb24
-rw-r--r--tests/acceptance/features/support/headless.rb34
2 files changed, 58 insertions, 0 deletions
diff --git a/tests/acceptance/features/support/env.rb b/tests/acceptance/features/support/env.rb
new file mode 100644
index 000000000..ab2d6b3c6
--- /dev/null
+++ b/tests/acceptance/features/support/env.rb
@@ -0,0 +1,24 @@
+require 'bundler/setup'
+require 'capybara/cucumber'
+require 'selenium-webdriver'
+
+Encoding.default_external = Encoding::UTF_8
+Encoding.default_internal = Encoding::UTF_8
+
+Capybara.register_driver :selenium do |app|
+ http_client = Selenium::WebDriver::Remote::Http::Default.new
+ http_client.timeout = 200
+ Capybara::Selenium::Driver.new(app, :browser => :firefox, :http_client => http_client)
+end
+
+#
+# app and app_host are set via command line parameter on cucumber call:
+# cucumber HOST=33.33.33.10
+#
+host = ENV['HOST']
+host ||= '33.33.33.10'
+Capybara.app = host
+Capybara.run_server = false
+Capybara.app_host = "http://#{host}"
+Capybara.default_selector = :css
+Capybara.default_driver = :selenium
diff --git a/tests/acceptance/features/support/headless.rb b/tests/acceptance/features/support/headless.rb
new file mode 100644
index 000000000..a2095205f
--- /dev/null
+++ b/tests/acceptance/features/support/headless.rb
@@ -0,0 +1,34 @@
+# only run when export HEADLESS=true
+if ENV['HEADLESS'] == 'true'
+
+ require 'headless'
+
+ headless = Headless.new
+ headless.start
+
+ at_exit do
+ headless.destroy
+ end
+
+ Before do
+ #headless.video.start_capture
+ end
+
+ After do |scenario|
+ # for demo purpose: always record ;-)
+ #video= video_path(scenario)
+ #puts "Writing video to #{File.expand_path(video)}"
+ #headless.video.stop_and_save(video)
+
+ # if scenario.failed?
+ # headless.video.stop_and_save(video_path(scenario))
+ # else
+ # headless.video.stop_and_discard
+ # end
+ end
+
+ def video_path(scenario)
+ "#{scenario.name.split.join("_")}.mov"
+ end
+
+end \ No newline at end of file