<% if with_lib == 'true' -%> $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '../../', 'lib')) <% end -%> require 'rspec' <% if with_appium == 'false' and with_mohawk == 'false' -%> require 'page-object' require 'data_magic' <% end -%> <% if with_mohawk == 'true' -%> require 'mohawk' require 'win32/screenshot' <% end -%> <% if with_lib == 'true' -%> require 'require_all' require_all 'lib' <% end -%> <% if with_appium == 'true' -%> require 'appium_lib' class AppiumWorld end PROJECT_DIR = File.expand_path(File.dirname(__FILE__) + '../../..') @desired_caps = { caps: { platformName: 'android', deviceName: ENV['DEVICE_NAME'], app: '', }, appium_lib: { port: 4723 } } Appium::Driver.new(@desired_caps).start_driver Appium.promote_appium_methods Object World do AppiumWorld.new end at_exit do driver_quit end <% end -%> <% if with_appium == 'false' and with_mohawk == 'false' -%> World(PageObject::PageFactory) <% end -%> <% if with_mohawk == 'true' -%> World(Mohawk::Navigation) Mohawk.app_path = PATH_TO_EXECUTABLE def capture_screenshot(name) Dir.mkdir('screenshots') unless Dir.exist? 'screenshots' now = Time.now.to_s.gsub(/\W+/, '.') Win32::Screenshot::Take.of(:desktop).write("screenshots/#{now}.#{name}.png") end Before do Mohawk.start end After do |scenario| capture_screenshot(scenario.name.gsub(/\W+/,'_')) if scenario.failed? Mohawk.stop end <% end -%>