lib/xcmonkey.rb in xcmonkey-0.3.0 vs lib/xcmonkey.rb in xcmonkey-1.0.0

- old
+ new

@@ -1,30 +1,23 @@ require 'json' require 'colorize' require_relative 'xcmonkey/describer' +require_relative 'xcmonkey/repeater' require_relative 'xcmonkey/version' require_relative 'xcmonkey/logger' require_relative 'xcmonkey/driver' module Xcmonkey class Xcmonkey - attr_accessor :udid, :bundle_id, :duration, :driver + attr_accessor :driver def initialize(params) ensure_required_params(params) - self.udid = params[:udid] - self.bundle_id = params[:bundle_id] - self.duration = params[:duration] self.driver = Driver.new(params) end def run - driver.ensure_device_exists - driver.ensure_app_installed - driver.terminate_app - driver.open_home_screen(with_tracker: true) - driver.launch_app driver.monkey_test(gestures) end def gestures taps = [:precise_tap, :blind_tap] * 10 @@ -33,10 +26,14 @@ taps + swipes + presses end def ensure_required_params(params) Logger.error('UDID should be provided') if params[:udid].nil? + Logger.error('Bundle identifier should be provided') if params[:bundle_id].nil? + + Logger.error('Session path should be a directory') if params[:session_path].nil? || !File.directory?(params[:session_path]) + if params[:duration].nil? || !params[:duration].kind_of?(Integer) || !params[:duration].positive? Logger.error('Duration must be Integer and not less than 1 second') end end end